![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam taka prosbe......mogl by mi ktos zweryfikowac kod[php:1:ef94c11438]<?php
if(!empty($_POST)) { if(file_exists('includes/users/'.$_POST['logg'].'.dat')) { include('includes/users/'.$_POST['logg'].'.dat'); $_POST['passw'] = md5($_POST['passw']) ; if(isset($log) && isset($pass)) { if($log == $_POST['logg']) { if($pass == $_POST['passw']) { session_start(); session_register("log"); session_register("pass"); header('location: index.php?page=download&'.SID); exit(); } else { echo 'Nieprawidlowe haslo!'; } } } } } ?> <? if(!empty($_SESSION["log"])){ echo "<table height='68' width='100%' cellpadding='0' cellspacing='0'><tr><td><table width='100%' cellpadding='1' cellspacing='0' style='border-top:1px solid #000000; border-bottom:1px solid #000000'><tr><td align='right' bgcolor='#666666'><font color='#000000'>Witaj <b>".$_SESSION["log"]."</font> </td></tr></table></td></tr><tr><td><table height=100% width='100%' cellpadding='2' cellspacing='0'><tr><td align='center'><font color='#999999'>Jestes zalogowany</font></td></tr><tr><td align='right'>« <a href='index.php?page=logout' class='admin'>wyloguj</a> </td></tr></table></td></tr></table>"; } else {?> <table width="100%" cellpadding="1" cellspacing="0"><FORM method="POST" action="<?php echo $PHP_SELF?>"> <tr> <td colspan="2" height="6"></td> </tr> <tr> <td> Login:</td><td><INPUT type='text' class='login' name='logg'></td> </tr> <tr> <td> Haslo:</td><td><INPUT type="password" class="login" name="passw"> <INPUT type="submit" value="ok"></td></tr> <tr><td colspan='2'> » <a href='index.php?page=lost_pass'>Zapomnialem haslo</a></td></tr> </FORM></table> <? } ?>[/php:1:ef94c11438] Tu uzwam session_register, lecz wiem ze gdy sie uzywa $_SESSION to nie mozna tego uzywac......wiec jak by musial wygladac kod by mozna bylo bez problemow stosowac $_SESION......mozliwe ze to moze byc powod nadpisywania mi zmiennej..... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 21.08.2003 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
[quote="Robert"]Witam mam taka prosbe......mogl by mi ktos zweryfikowac kod
[php:1:99e621e908] <? if(file_exists('includes/users/'.$_POST['logg'].'.dat')) { include('includes/users/'.$_POST['logg'].'.dat'); ?> [/php:1:99e621e908] Pierwsza sprawa - co, jak jakis inny user serwera, na ktorym masz pliki poda w polu logg cos takiego: ../../../mietek/moje_dane ...czyli po prostu podepnie swoj wlasny plik z danymi, gdzie zarejestruje wlasne zmienne log (wartosc taka jak wyzej napisalem) oraz haslo? Jesli chcesz koniecznie w ten sposob pobierac dane o uzytkowniku, to sprawdz najpierw $_POST['logg'] odpowiednimi wyrazeniami regularnymi, czy nie zawiera znakow / . itd. Mozesz tez zrobic plik /include/users.dat i najpierw sprawdzic, czy uzytkownik $_POST['logg'] istnieje, czy nie... Nie ufaj pobieranym danym nigdy ![]() [php:1:99e621e908] <? $_POST['passw'] = md5($_POST['passw']) ; if(isset($log) && isset($pass)) { if($log == $_POST['logg']) { if($pass == $_POST['passw']) { session_start(); $_SESSION['log'] = $log; $_SESSION['pass'] = $pass; header('location: index.php?page=download&'.SID); exit(); } else { echo 'Nieprawidlowe haslo!'; } } } } } if(!empty($_SESSION["log"])){ ?> [..] [/php:1:99e621e908] I tu kolejne niebezpieczenstwo: co jezeli serwer bedzie mial wlaczone register_globals oraz kolejnosc rejestrowania zmiennych inna niz standardowe EGPCS? Poza tym zweryfikuj tez dane sesji, czy sie zgadzaja z Twoimi danymi. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Odnosnie tematu:
Juz sobie poradzilem wiec mozna go zamknac... Dla zainteresowanych blad tkwil w tym ze zapisywalem zmienna z pliku....a teraz zapisuje zmienna z formularza logujacego i wysztko jest ok. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 21.08.2003 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
a co manual mowi na temat session_register? a no to:
Cytat If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the php directive register_globals is disabled.
[...] If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister(). wiecej: http://pl2.php.net/manual/en/function.sess...on-register.php |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nie uzywam session_register. WIem ze nie mozna tego jednoczesnie uzywac
[php:1:6ebea7edce]<?php _POST['passw'] = md5($_POST['passw']) ; if(isset($log) && isset($pass)) { if($log == $_POST['logg']) { if($pass == $_POST['passw']) { session_start(); $_SESSION["logg"] = $_POST['logg']; $_SESSION["passw"] = $_POST['passw']; header('location: index.php?page=download&'.SID); exit(); } else { echo 'Nieprawidlowe haslo!'; } ?>[/php:1:6ebea7edce] To jest kawalek kodu... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 20:48 |