![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Poniżej kod skryptu, który znalazłem w sieci. U mnie działa jednak czasem po zalogowaniu nie wyświetla się zawartość tajnej strony (wyświetla się pusta strona), szczególnie jak kliknę na enter zamiast przycisku loguj. Prośba do bardziej doświadczonych aby sprawdzili czy coś można z tym zrobić.
<codebox> <?php session_start(); ob_start(); mysql_connect('host','user','haslo'); mysql_select_db(nazwa bazy); $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']); $haslo = mysql_escape_string(md5($_POST['pass'])); $zapytanie = mysql_query("SELECT * FROM nazawa tabeli WHERE login = '$login'"); $dane = mysql_fetch_array($zapytanie); if(isset($_POST['login']) && isset($_POST['pass'])) { if($login ==''.$dane['login'].'' && $haslo ==''.$dane['haslo'].'') { $_SESSION['admin']='ok'; $_SESSION['login']=''.$dane['login'].''; setcookie("log" , "log", time()+3600, "/","", 0); header("Location: log.php"); } else { echo 'zle haslo'; } } if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] != 'ok' && !isset($_POST['submit']) && $_GET['p']!='wyloguj' && !isset($_COOKIE['log'])) { echo' <br><br><br><center><table class="text"><form action="log.php" method="POST"> <tr><td align="right">Login:</td> <td><input type="text" name="login"></td></tr> <tr><td align="right">Password:</td> <td><input type="password" name="pass"></td></tr> <tr><td></td><td><input type="submit" name="submit" value="Login"></td></tr></form></table></center>'; } if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log'])) { echo '<p align="right" class="text">Witaj '.$_SESSION['login'].', <a href="?p=wyloguj">Log out</a></p>'; include "costam.php"; if($_GET['p']=='wyloguj') { session_destroy(); //kasujemy sesje setcookie("log" , "log", time()-3600, "/","", 0); header("Location: log.php"); } } ?> </codebox> Na innych zabezpieczonych stronach wklejam <codebox> <? session_start(); ob_start(); if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log'])) { } else { header("Location: log.php"); } ?> </codebox> Proszę również o opinię czy ten skrypt jest bezpieczny i czy mozna go jeszcze jakoś zmodyfikować. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Proszę poprawić bbcode.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php session_start(); ob_start(); mysql_connect('host','user','haslo'); mysql_select_db(nazwa bazy); $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']); $haslo = mysql_escape_string(md5($_POST['pass'])); $zapytanie = mysql_query("SELECT * FROM nazawa tabeli WHERE login = '$login'"); $dane = mysql_fetch_array($zapytanie); if(isset($_POST['login']) && isset($_POST['pass'])) { if($login ==''.$dane['login'].'' && $haslo ==''.$dane['haslo'].'') { $_SESSION['admin']='ok'; $_SESSION['login']=''.$dane['login'].''; setcookie("log" , "log", time()+3600, "/","", 0); header("Location: log.php"); } else { echo 'zle haslo'; } } if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] != 'ok' && !isset($_POST['submit']) && $_GET['p']!='wyloguj' && !isset($_COOKIE['log'])) { echo' <br><br><br><center><table class="text"><form action="log.php" method="POST"> <tr><td align="right">Login:</td> <td><input type="text" name="login"></td></tr> <tr><td align="right">Password:</td> <td><input type="password" name="pass"></td></tr> <tr><td></td><td><input type="submit" name="submit" value="Login"></td></tr></form></table></center>'; } if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log'])) { echo '<p align="right" class="text">Witaj '.$_SESSION['login'].', <a href="?p=wyloguj">Log out</a></p>'; include "costam.php"; if($_GET['p']=='wyloguj') { session_destroy(); //kasujemy sesje setcookie("log" , "log", time()-3600, "/","", 0); header("Location: log.php"); } } ?> i jeszcze Kod <?
session_start(); ob_start(); if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log'])) { } else { header("Location: log.php"); } ?> |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
1. Jak kodujesz coś za pomocą md5 to nie potrzebne jest już "mysql_escape_string()" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
2. Nie chcę mi się szukać ew. błędu, dlatego na szybko napiszę kod logowania.
Tyle zdazylem na szybko zrobic, reszte (tj. logowanie, wg. sesji jak masz wyzej [sesja o nazwie login o wartosci "czas|login|haslo(md5)"]) mozesz zrobic sam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Pozdro Ten post edytował Axexis 7.11.2008, 11:03:08 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 08:59 |