Autor | Zpráva | ||
---|---|---|---|
janharvalik Profil * |
#1 · Zasláno: 31. 7. 2010, 18:48:34
dobrý den,
poradíte mi co je špatně? $name = $_POST['name_of_story']; $category = $_POST['category']; $before_content = $_POST['before_content']; $content = $_POST['content']; mysql_query("UPDATE `stories` SET name='$name',category='$category',before_content='$before_content', content='$content' WHERE id='$id'") or die(mysql_error()); |
||
Davex Profil |
#2 · Zasláno: 31. 7. 2010, 20:07:33
Ano poradím - chybí připojení k databázi a není ošetřené SQL injection.
|
||
mattyZEM Profil |
#3 · Zasláno: 31. 7. 2010, 20:12:54
Davex:
„chybí připojení k databázi“ A také chybí chybová hláška… |
||
janharvalik Profil * |
#4 · Zasláno: 31. 7. 2010, 20:13:34
Davex:
„chybí připojení k databázi“ to mám jinde a v něm problé nění. „není ošetřené SQL injection.“ co to je? |
||
Davex Profil |
#5 · Zasláno: 31. 7. 2010, 20:27:02
janharvalik:
> „není ošetřené SQL injection.“ > co to je? To je útok, pomocí kterého se dá skrz neošetřený skript nabourat do databáze. • Teorie SQL injection + kniha • Sbohem, SQL injection? • SQL injection strip_tags • kde se používá ošetření proti SQL injection? |
||
janharvalik Profil * |
#6 · Zasláno: 31. 7. 2010, 20:43:21
to nebyl celý script
celé je to v if($_POST['password']==$password) to by šlo ? kde je chyba ? |
||
Davex Profil |
#7 · Zasláno: 31. 7. 2010, 20:56:32
janharvalik:
„kde je chyba ?“ Chyba je v tom, že není definována proměnná $password .
|
||
janharvalik Profil * |
#8 · Zasláno: 31. 7. 2010, 20:59:03
je, někde jinde.
$password="heslo"; |
||
xmark Profil |
#9 · Zasláno: 31. 7. 2010, 21:05:03 · Upravil/a: xmark
janharvalik:
Mohl by ses obtěžovat sem dát kompletní relevantní kód a popsat, co přesně ti ta stránka dělá a co má dělat? edit: ok, slevím. Co má dělat, je evidentní. |
||
janharvalik Profil * |
#10 · Zasláno: 31. 7. 2010, 21:14:02
elseif($page=="edit"){ //má to vybrat řádek z detabáze echo ' <a href="http://www.pokusnak.ic.cz/admin_page.php">admin_page</a><br /> <script type="text/javascript"> function kontrola_formulare() {if((document.getElementById("file").value="")) {alert("musíte vyplnit pole id");return false;}return true;}</script> <form onSubmit="kontrola_formulare()"; action="http://www.pokusnak.ic.cz/admin_page.php/?page=edit_form" method="post"> id: <input type="text" name="file" size="10" /><br /> heslo: <input name="password" type="password"/> <input name="submit" type="submit" value="uložit" /> </form>'; } // vypsat obsah do formuláře (není úplně hotové) elseif($page=="edit_form"){ $file = $_POST['file']; $select=mysql_query("SELECT * FROM `stories` WHERE id='$file' "); $select=mysql_fetch_array($select); echo' <script type="text/javascript"> function check(){if(document.getElementById("category").value != document.getElementById("confirm_category").value){alert("kategorie se neschodují");}} </script> <form onSubmit="kontrola_formulare()"; action="http://www.pokusnak.ic.cz/admin_page.php/?action=edit" method="post"> <input id="name_of_story" type="text" name="name_of_story" size="10" value="'.$select['name'].'" /><br /> <select name="category"><br /> <optgroup label="vyberte kategorii"> '. $option .' </select> <select id="confirm_category" name="confirm_category" > <optgroup label="podtvrďte kategorii"> '.$option.' </select><br /> <textarea name="before_content" rows="8" cols="15">'.$before_content.'</textarea><br /> <textarea name="content" rows="40" cols="30">'.$content.'</textarea><br /> <input name="password" type="password"/><br /> <input onMouseOver="check();" name="submit" type="submit" value="Odeslat" /> '; } // uložit do databáze if($action=="edit"){ if($_POST['password']==$password){ $id=$_POST['file']; echo $_POST['name_of_story']; $name = $_POST['name_of_story']; $category = $_POST['category']; $before_content = $_POST['before_content']; $content = $_POST['content']; mysql_query("UPDATE `stories` SET name='$name',category='$category',before_content='$before_content', content='$content' WHERE id='$id'") or die(mysql_error()); }else {echo "špatné heslo"; }} |
||
xmark Profil |
#11 · Zasláno: 31. 7. 2010, 21:17:16
Když dáš nad
$name = $_POST['name_of_story']; echo 'nazdar'; |
||
janharvalik Profil * |
#12 · Zasláno: 31. 7. 2010, 21:20:27
xmark:
„echo 'nazdar';“ kde jste to našel ? |
||
Johnik Profil |
#13 · Zasláno: 31. 7. 2010, 22:02:03
janharvalik
dopsal :) |
||
Petr__ Profil * |
#14 · Zasláno: 31. 7. 2010, 22:45:02
Opravdu mají ty formuláře mít action na tyto stránky:
http://www.pokusnak.ic.cz/admin_page.php/?action=edit http://www.pokusnak.ic.cz/admin_page.php/?page=edit_form ? Nemělo by to být bez toho vytučněného lomítka? |
||
janharvalik Profil * |
#15 · Zasláno: 31. 7. 2010, 22:48:21
ano skuteč je to s / u jiného formůláře to funguje v klidu
|
||
Petr__ Profil * |
#16 · Zasláno: 31. 7. 2010, 23:03:41
janharvalik:
ano skuteč je to s / u jiného formůláře to funguje v klidu Hm, a byl by takový problém je na zkoušku odstranit? A už si konečně zkusil, to co ti napsal [#11] xmark? Protože se tím ukáže, jestli byla splněna ta podmínka if($action=="edit") |
||
Petr__ Profil * |
#17 · Zasláno: 31. 7. 2010, 23:20:55
A další věc je v části:
// uložit do databáze if($action=="edit"){ if($_POST['password']==$password){ $id=$_POST['file']; Žádný input nazvaný "file" nikde ve formuláři, ze kterého to předpokládám odesíláš (část větve elseif($page=="edit_form") |
||
janharvalik Profil * |
#18 · Zasláno: 1. 8. 2010, 18:50:16
Petr_:
„Hm, a byl by takový problém je na zkoušku odstranit? u ostatních formulářů to jde a v tom problém nění. „jestli byla splněna ta podmínka“ ta se splnila jinak by se nevypsal formulář „Žádný input nazvaný "file" nikde ve formuláři“ v tom $id=$_POST['file'] |
||
Časová prodleva: 14 let
|
0