Nekronomik Temat założony przez niniejszego użytkownika |
Pytanie na temat logowania » 2014-02-01 17:15:06 Witam, chodzi mi o to że czy jak się loguje na mojej stronie to powinno być przekierowanie na inną stronę, czy może być na tej samej np; loguje się na index.php to czy dane na temat użytkownika powinny być na index.php czy np: na użytkownik.php i żeby nie miał możliwości w momencie gdy jest zalogowany przejść na stronę index.php, chyba że postanowi się wylogować ? No i mam jeszcze takie drobne pytanie dlaczego gdy użytkownik jest automatycznie wylogowany a stronę odświeżam to jego dane i tak są wyświetlane mimo że $_SESSION['zalogowany']=0;. Moja strona http://www.moje1991.aq.pl/. |
|
MrPoxipol |
» 2014-02-01 17:22:21 login.php Strona, na której operujesz w logowaniu. Jeśli się powiedzie - przekieruj na główną, jeśli nie - wypluj błąd. Co do 2. to potrzebny kod. Coś przekombinowałeś. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2014-02-01 17:35:05 <?php session_start(); session_register("zalogowany"); session_register("login"); session_register("id"); session_register("email"); if(empty($_SESSION["zalogowany"])) { $_SESSION["zalogowany"]=0; } $laczenie=mysql_connect('localhost','root',''); $baza=mysql_select_db('moje',$laczenie); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Zaczynamy !</title> <meta http-equiv="Refresh" content="100" /> <link href="arkusz.css" rel="stylesheet" /> </head> <body> <div id="karta"> <div id="naglowek">Naglówek</div> <div id="logowanie_pasek"> <form id="logowanie" method="post"> Login :<input type="text" name="login" maxlength="20"/> Hasło :<input type="password" name="haslo" maxlength="20"/> <input type="submit" value="Zaloguj" /> </form> <div id="rejestracja"><a href="stworzkonto.php">Stwórz konto</a></div> </div> <div id="lewa_kolumna"> <div id="lewa_kolumna_m_w" onclick="location.href='phpinfo.php'">dane</div> <div id="lewa_kolumna_m_w">2</div> <div id="lewa_kolumna_m_w">3</div> <div id="lewa_kolumna_m_w">4</div> <div id="lewa_kolumna_m_w">5</div> <div id="lewa_kolumna_m_w">6</div> </div> <div id="prawa_kolumna"> <?php if($_SESSION["zalogowany"]==0) { $login=$_POST['login']; $haslo=$_POST['haslo']; if(empty($_POST["login"])==0 && empty($_POST["haslo"])==0) { $rezultat = mysql_query("SELECT * FROM konta WHERE Login='$login' AND Haslo='$haslo'"); //$czy_istnieje_login = mysql_query("select Login from konta where Login='$login'"); //$czy_istnieje_haslo = mysql_query("select Haslo from konta where Haslo='$haslo'"); if(mysql_num_rows($rezultat)==true) //if(czy_istnieje_login==false && $czy_istnieje_haslo==false) { $row = mysql_fetch_array($rezultat); $_SESSION["zalogowany"]=1; $_SESSION["login"]=$row['Login']; $_SESSION["id"]=$row['id']; $_SESSION["email"]=$row['Email']; } else { echo 'Dane logowania są niepoprawne<br/>'; } mysql_close(); } //else echo 'Dane są puste'; } //$imie='Daniel'; if($_SESSION["zalogowany"]==1) { echo('Witaj '.$_SESSION["login"].'<br/>Twój ID to: '.$_SESSION["id"].'<br/> Twój email to: '.$_SESSION["email"].'<br/><br/>'); } else { echo('Witaj nieznajomy'); } if($_SESSION["zalogowany"]==1) { $_SESSION["zalogowany"]=0; $_SESSION["login"]=''; $_SESSION["id"]=''; echo('Właśnie zostałes automatycznie wylogowany'); } ?> </div> <div id="pasek">Pasek</div> </div> </body> </html>
Logowanie jest na głównej stronie, czyli mam użytkownika po zalogowaniu przenieść na inna stronę bez możliwości wejścia na główną ? |
|
MrPoxipol |
» 2014-02-01 17:37:31 Logowanie jest na głównej stronie, czyli mam użytkownika po zalogowaniu przenieść na inna stronę bez możliwości wejścia na główną ? |
Includuj forma z logowaniem, a jako action podaj stronę do logowania. PS Nie chciałbym mieć konta w Twoim serwisie, w serwisie, w którym admin ma dostęp do haseł użytkowników.. (PR0TIP: twórz hasha md5) PPS SQL injection.. (filtruj dane od użytkownika) PPPS mysql jest przestarzałe i zaleca się używać mysqli. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2014-02-02 13:39:35 Zrobiłem szyfrowanie md5(), ale jak admin i tak bardzo by chciał to się dowie jakie hasło ma użytkownik. A że php i mysql to dla mnie nowość to nie rozumiem co napisałeś "Includuj forma z logowaniem, a jako action podaj stronę do logowania." |
|
xevuel |
» 2014-02-02 13:50:04 Zrobiłem szyfrowanie md5(), ale jak admin i tak bardzo by chciał to się dowie jakie hasło ma użytkownik. |
To nie jest zabezpieczenie przed tym który ma dostęp do kodu strony, ale przed wyciekiem bazy. Poza tym, MD5 jest słabe, a brak solenia hasła powoduje że używanie hashy nie ma dużego sensu. "Includuj forma z logowaniem, a jako action podaj stronę do logowania." | http://www.php.net/manual/en/function.include.phphttp://www.w3schools.com/tags/att_form_action.aspChociaż akurat tworzenie osobnej strony do logowania/przyjmowania formularza jest moim zdaniem bez sensu, bo tylko zwiększa ilość potencjalnych requestów (jeśli użytkownik loguje się ze strony X, a ta go przekieruje na Y, to w dużej ilości wypadków zechce on powrócić na X). |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2014-02-02 18:53:15 Logowanie zrobiłem na tej samej stronie, include wykorzystam do zachowania danych logowania na podstronach. A to że wyświetlały mi się dane użytkownika po wylogowaniu to dlatego że w złej kolejności był kod wykonywany. <?php session_start(); session_register("zalogowany"); session_register("login"); session_register("id"); session_register("email"); if(empty($_SESSION["zalogowany"])) { $_SESSION["zalogowany"]=0; } $laczenie=mysql_connect('localhost','root',''); $baza=mysql_select_db('moje',$laczenie); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Zaczynamy !</title> <meta http-equiv="Refresh" content="100" /> <link href="arkusz.css" rel="stylesheet" /> </head> <body> <?php if(isset($_POST['wylogowywanie'])) { $_SESSION["zalogowany"]=0; $_SESSION["login"]=''; $_SESSION["id"]=''; } if($_SESSION["zalogowany"]==0) { $login=$_POST['login']; $haslo=md5($_POST['haslo']); if(empty($_POST["login"])==0 && empty($_POST["haslo"])==0) { $rezultat = mysql_query("SELECT * FROM konta WHERE Login='$login' AND Haslo='$haslo'"); if(mysql_num_rows($rezultat)==true) { $row = mysql_fetch_array($rezultat); $_SESSION["zalogowany"]=1; $_SESSION["login"]=$row['Login']; $_SESSION["id"]=$row['id']; $_SESSION["email"]=$row['Email']; } } } ?> <div id="karta"> <div id="naglowek">Naglówek</div> <div id="logowanie_pasek"> <form id="logowanie" method="post"> Login :<input type="text" name="login" maxlength="20"/> Hasło :<input type="password" name="haslo" maxlength="20"/> <input type="submit" value="Zaloguj" /> </form> <div id="rejestracja"> <?php if($_SESSION["zalogowany"]==0) { echo '<a href="stworzkonto.php">Rejestracja</a>'; } else { echo '<form method="post"><input type="submit" name="wylogowywanie" value="Wyloguj" /></form>'; } ?> </div> </div> <div id="lewa_kolumna"> <div id="lewa_kolumna_m_w" onclick="location.href='phpinfo.php'">dane</div> <div id="lewa_kolumna_m_w">2</div> <div id="lewa_kolumna_m_w">3</div> <div id="lewa_kolumna_m_w">4</div> <div id="lewa_kolumna_m_w">5</div> <div id="lewa_kolumna_m_w">6</div> </div> <div id="prawa_kolumna"> <?php if($_SESSION["zalogowany"]==0) { $login=$_POST['login']; $haslo=md5($_POST['haslo']); if(empty($_POST["login"])==0 && empty($_POST["haslo"])==0) { $rezultat = mysql_query("SELECT * FROM konta WHERE Login='$login' AND Haslo='$haslo'"); if(mysql_num_rows($rezultat)==false) { echo 'Dane logowania są niepoprawne<br/>'; } } } if($_SESSION["zalogowany"]==1) { echo('Witaj '.$_SESSION["login"].'<br/>Twój ID to: '.$_SESSION["id"].'<br/> Twój email to: '.$_SESSION["email"].'<br/><br/>'); } else { echo('Witaj nieznajomy'); } ?> </div> <div id="pasek">Pasek</div> </div> </body> </html> . Moja strona http://www.moje1991.aq.pl/. |
|
MrPoxipol |
» 2014-02-04 17:07:51 |
|
« 1 » 2 |