A passwd filehoz mindenki hozza fér, ott nincs semmi extra az /etc/shadow már más kérdés.
Értem én az hogy ki lehet védeni persze hogy ki lehet, csak ebben az esetben nincsen kivédve
Gondolom az alap verzióra gondoltál, mert az simán kiszolgálna bár mit, már ha működik.
Az miért bj ha bármit letölt script ?
Mármint a felhasználó nem tudja módosítani a php forráskódját , js lehet ha jól tudom de ,hog nyúlna bele php-ba ?
Ha tudod fixen, hogy milyen fájlnevek lehetnek, akkor be tudod tenni őket egy tömbbe valahogy így:
utána pedig csak végigfutsz rajta, és ha van egyezés, akkor kidobod az usernek dispositionba:Kód:$fileArray = array('file1', 'file2');
Így ki tudod szűrni a kforum-hoz hasonlatos élelmeseket, akik megpróbálnak crackelni, valamint rugalmasabb lesz a kódod, mert ha fel akarsz vinni egy új file-t, akkor nem kell turkálnod, csak hozzáadni a tömbhoz még egy elemet.Kód:foreach($fileArray as $file) { if ($GET['file'] == $file) { // kód itt } else { exit('wtf'); // ha nincs ilyen file } }
Amúgy ahogy fentebb is mondták, "Never trust user input", szóval, ha egy mód van rá, akkor sehova ne tegyél olyan adatot tisztítás nélkül, ami a $REQUEST-ből jön.
Utoljára módosítva: edem által : 2010-12-21 23:42
// Only illogics can find
// hidden flaws in a straight logic line
Egy újabb php-n dolgozok :
Valamiért a $vissza változó nem változóként kezeli header('Location: http://"$vissza"'); sorban.<?php
$str = $_GET["url"];
$vissza = base64_decode($str);
header('Location: http://"$vissza"');
?>
http://domain.info/$vissza ra írányít.
Próbáld meg:
header('Location: http://"$vissza"'); >> header('Location: http://'.$vissza);
Köszi ezzel sikerült.
header('Location: '.$vissza);
<?php
$str = 'This is an encoded string';
$harom = "base64_encode($str)"
print "http://zteportal.com/out.php?url=$harom";
?>
Megmondanád hol a hiba ?
Könyvjelzők