| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 15.05.09 Prihlásený: 20.12.13 Príspevky: 81 Témy: 29 Bydlisko: Nitra | Napísal ViVe®s: 27.06.2009 20:54 | |
|
zdravím nemám moc skúseností s ochranou... mohli by ste mi pomoct ako ochraniť tentp PHP script ?
Kód: <?php if(isset($_POST["ok_prevod"])) { if($_SESSION["captcha"] == $_POST["captcha"]) { $acc1 = $_POST["acc1"]; $pass1 = $_POST["pass1"]; $mail1 = $_POST["mail1"]; $www2 = $_POST["www2"]; $realm2 = $_POST["realm2"]; $acc2 = $_POST["acc2"]; $pass2 = $_POST["pass2"]; $mail2 = $_POST["mail2"]; $char2 = $_POST["char2"]; $poznamka2 = $_POST["poznamka2"]; mysql_query("INSERT INTO `prevod`(id,acc1,pass1,mail1,www2,realm2,acc2,pass2,mail2,char2,poznamka2,visible) VALUES(NULL, '$acc1', '$pass1', '$mail1', '$www2', '$realm2', '$acc2', '$pass2', '$mail2', '$char2', '$poznamka2',1);"); echo "<script>alert('Požadavak byl úspěšně odeslán, o průběhu budete informování e-mailem.')</script>"; } else { echo "<script>alert('Špatně opsaná captcha!')</script>"; } } echo " <br><br> <center><h3>Převod postav</h3></center><br> <br> - Prevod prebieha z dôveryhodných free serverov. (ktoré sú dôveryhodné rozhoduje sám admin)<br> - Rate serveru z ktorého sa prevádza nesmie byť väčší ako má eXperience tj. 2x.<br> - Je potrebné zadať údaje k prihláseniu na tento server + na server z ktorého chcete postavu previesť. Pokiaľ tieto údaje nevyplníte, admin sa nebude ďalej prevodom zaoberať.<br> - Prevádzajú sa postavy od lvl 35 a viac.<br> - Postava ktorá bude prevedená na náš server bude na pôvodnom kompletne zmazaná!<br> - Prevádzajú sa tieto veci:<br> - Všetky Skilly<br> - Goldy<br> - Bagy <br> - Itemy v bagu (len 16 itemov sa prevádza ktoré si vyberiete)<br> - Reputácie (len s dôležitými mestami)<br> - Zadajte <b>PLATNÝ</b> e-mail. Naň Vám potom príde informácia, či bola postava prevedená alebo nie.<br> - Všetky vaše otázky smerujte na fórum eXperience <a href=\"http://forum.wow-experience.eu/viewforum.php?f=46\">Fórum</a>.<br> - Vo formulári je potrebné vyplniť všetky údaje.<br> - Prevod prebehne v čo najkratšej dobe. <form action='#' name='post' method='post'> <table> <tr><td colspan='3'><b>Údaje k přihlášení na eXperience</b></td></tr><br> <tr></tr> <tr><td>Account</td><td><input type='text' name='acc1' value=''></td></tr> <tr><td>Heslo</td><td><input type='password' name='pass1' value=''></td></tr> <tr><td>E-mail</td><td><input type='text' name='mail1' value='@'></td></tr> <tr></tr> <tr><td colspan='3'><b>Údaje k přihlášení na server, ze kterého se bude převádět postava</b></td></tr><br> <tr></tr> <tr><td>Stránky serveru</td><td><input type='text' name='www2' value=''></td></tr> <tr><td>Realmlist</td><td><input type='text' name='realm2' value=''></td></tr> <tr><td>Account</td><td><input type='text' name='acc2' value=''></td></tr> <tr><td>Heslo</td><td><input type='password' name='pass2' value=''></td></tr> <tr><td>E-mail</td><td><input type='text' name='mail2' value='@'></td></tr> <tr><td>Název postavy k převedení</td><td><input type='text' name='char2' value=''></td></tr> <tr><td>Poznámka</td><td><textarea name='poznamka2' cols='28' maxlength='1000' rows='5'></textarea></td></tr> <tr><td>Opište prosím černé znaky: <br><img src=\"images/captcha.php\"></td><td><input type=\"text\" value=\"\" name=\"captcha\"></td></tr> </table><br> <center><input type='submit' class='button' name='ok_prevod'></center> </form>"; ?>
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 27.06.2009 21:21 | |
|
Pohladaj tu na fore v uzitocnych skriptoch fciu safety() od stenleyho. V podstate ide o to, osetrit znaky ', \, velmi sa hodi pridat aj htmlspecialchars() kvoli lt a gt. A odporucam kontrolovat aj format, napriklad ak je to pole email, tak pouzit vhodny regexp.
|
|
Registrovaný: 15.05.09 Prihlásený: 20.12.13 Príspevky: 81 Témy: 29 Bydlisko: Nitra | Napísal autor témy ViVe®s: 27.06.2009 22:54 | |
|
takto by to mohlo byť ošetrené proti SQL injection?
Kód: <?php if(isset($_POST["ok_prevod"])) { if($_SESSION["captcha"] == $_POST["captcha"]) { $acc1 = strtoupper($_POST["acc1"]); $pass1 = sha_password($_POST["pass1"]); $mail1 = addslashes($_POST["mail1"]); $www2 = addslashes($_POST["www2"]); $realm2 = addslashes($_POST["realm2"]); $acc2 = strtoupper($_POST["acc2"]); $pass2 = sha_password($_POST["pass2"]); $mail2 = addslashes($_POST["mail2"]); $char2 = addslashes($_POST["char2"]); $poznamka2 = addslashes($_POST["poznamka2"]);
$sql = "INSERT INTO `prevod`(id,acc1,pass1,mail1,www2,realm2,acc2,pass2,mail2,char2,poznamka2,visible) VALUES(NULL,'$acc1','$pass1','$mail1','$www2','$realm2','$acc2','$pass2','$mail2','$char2','$poznamka2',1)"; mysql_query($sql); echo "<script>alert('Požadavak byl úspěšně odeslán, o průběhu budete informování e-mailem.')</script>"; } else { echo "<script>alert('Špatně opsaná captcha!')</script>"; } }
echo " <br><br> <center><h3>Převod postav</h3></center><br>
<br> - Prevod prebieha z dôveryhodných free serverov. (ktoré sú dôveryhodné rozhoduje sám admin)<br> - Rate serveru z ktorého sa prevádza nesmie byť väčší ako má eXperience tj. 2x.<br> - Je potrebné zadať údaje k prihláseniu na tento server + na server z ktorého chcete postavu previesť. Pokiaľ tieto údaje nevyplníte, admin sa nebude ďalej prevodom zaoberať.<br> - Prevádzajú sa postavy od lvl 35 a viac.<br> - Postava ktorá bude prevedená na náš server bude na pôvodnom kompletne zmazaná!<br> - Prevádzajú sa tieto veci:<br> - Equipment (celý)<br> - Všetky Skilly<br> - Goldy<br> - Bagy <br> - Itemy v bagu (len 16 itemov sa prevádza ktoré si vyberiete)<br> - Reputácie (len s dôležitými mestami)<br> - Zadajte <b>PLATNÝ</b> e-mail. Naň Vám potom príde informácia, či bola postava prevedená alebo nie.<br> - Všetky vaše otázky smerujte na fórum eXperience <a href=\"http://forum.wow-experience.eu/viewforum.php?f=46\">Fórum</a>.<br> - Vo formulári je potrebné vyplniť všetky údaje.<br> - Prevod prebehne v čo najkratšej dobe.
<form action='#' name='post' method='post'> <table> <tr><td colspan='3'><b>Údaje k přihlášení na eXperience</b></td></tr><br> <tr></tr> <tr><td>Account</td><td><input type='text' name='acc1' value=''></td></tr> <tr><td>Heslo</td><td><input type='password' name='pass1' value=''></td></tr> <tr><td>E-mail</td><td><input type='text' name='mail1' value='@'></td></tr> <tr></tr> <tr><td colspan='3'><b>Údaje k přihlášení na server, ze kterého se bude převádět postava</b></td></tr><br> <tr></tr> <tr><td>Stránky serveru</td><td><input type='text' name='www2' value=''></td></tr> <tr><td>Realmlist</td><td><input type='text' name='realm2' value=''></td></tr> <tr><td>Account</td><td><input type='text' name='acc2' value=''></td></tr> <tr><td>Heslo</td><td><input type='password' name='pass2' value=''></td></tr> <tr><td>E-mail</td><td><input type='text' name='mail2' value='@'></td></tr> <tr><td>Název postavy k převedení</td><td><input type='text' name='char2' value=''></td></tr> <tr><td>Poznámka</td><td><textarea name='poznamka2' cols='28' maxlength='1000' rows='5'></textarea></td></tr> <tr><td>Opište prosím černé znaky: <br><img src=\"images/captcha.php\"></td><td><input type=\"text\" value=\"\" name=\"captcha\"></td></tr>
</table><br> <center><input type='submit' class='button' name='ok_prevod'></center> </form>";
?>
|
|
Registrovaný: 04.04.08 Prihlásený: 27.02.12 Príspevky: 531 Témy: 27 Bydlisko: Nitra | Napísal P3CKIV: 28.06.2009 0:15 | |
|
Čiastočne to zabezpečené máš. Pridaj ešte htmlspeciachars() príp. strip_tags() a mail, ako spomínal Ďuri, kontroluj cez reg. výraz a to isté aj s webom. Ešte by som ošetril aj tie $acc1 a $acc2.
_________________ V príprave... |
|
Registrovaný: 15.05.09 Prihlásený: 20.12.13 Príspevky: 81 Témy: 29 Bydlisko: Nitra | Napísal autor témy ViVe®s: 28.06.2009 9:01 | |
|
P3CKIV píše: Čiastočne to zabezpečené máš. Pridaj ešte htmlspeciachars() príp. strip_tags() a mail, ako spomínal Ďuri, kontroluj cez reg. výraz a to isté aj s webom. Ešte by som ošetril aj tie $acc1 a $acc2.
ako by si ošetril $acc1 a $acc2 ? (som v tom len nováčik a učím sa)
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 28.06.2009 9:04 | |
|
No tak isto, ako si osetril tie ostatne:
Kód: $acc1 = strtoupper(addslashes($_POST["acc1"]));
|
|
Registrovaný: 15.05.09 Prihlásený: 20.12.13 Príspevky: 81 Témy: 29 Bydlisko: Nitra | Napísal autor témy ViVe®s: 28.06.2009 9:05 | |
|
Ďuri píše: No tak isto, ako si osetril tie ostatne: Kód: $acc1 = strtoupper(addslashes($_POST["acc1"]));
aha... THX
ešte by som potreboval vysvetlit ako mam pouziť htmlspecialchar() lebo som to ešte nepoužíval
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 28.06.2009 9:19 | |
|
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
na ochránenie pred sql injection skús použiť prepared statements. Keď sa to naučíš používať skôr, ako získaš nesprávne návyky používaním addslashes a iných nefunkčných somarín, máš vyhraté.
http://andrejserafim.wordpress.com/2007 ... tatements/
ps. názov tejto témy je "php ochrana SQL" - prečo sem kua miešate htmlspecialchars?
|
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Problém s SQL-PHP v Databázy | 5 | 658 | 17.05.2009 17:09 gizmof10 | | PHP & SQL problem v PHP, ASP | 6 | 463 | 05.08.2013 13:52 PepperSK | | Výpis v PHP zo SQL v PHP, ASP | 3 | 469 | 21.06.2011 15:43 emer | | vlozenie PHP premennu do sql vypisu v PHP, ASP | 6 | 456 | 12.05.2013 10:36 Ďuri | | SQL Lite binary file open in PHP v PHP, ASP | 4 | 386 | 16.03.2016 8:40 BX | | php funkcie, template, sql dotazy v funkcii v PHP, ASP | 10 | 831 | 18.01.2009 11:11 Unlink | | Strukrura dynamickej web-stranky s PHP a SQL v PHP, ASP | 6 | 648 | 26.12.2007 13:22 suchy | | pomoc s prikazmi sql cez php - Save to the DB v PHP, ASP | 5 | 663 | 03.03.2008 15:29 Blackdevil | | PHP programátor - PHP, MySQL, jQuery,X)Html/CSS v Ponuka práce | 0 | 1310 | 02.05.2011 12:08 magicmedia | | Vytvorenie suboru php a vlozenie php scriptu v PHP, ASP | 4 | 1440 | 07.05.2010 14:02 DeiForm | | Sql v Redakčné systémy | 7 | 973 | 12.04.2007 9:55 mokus | | Sql..... v Databázy | 27 | 1721 | 18.07.2008 16:50 m4r14n | | Sql v Dopyt práce | 9 | 1045 | 21.10.2020 19:39 citizen | | SQL databaza v Databázy | 8 | 1129 | 03.05.2008 14:08 p360t | | SQL worksheet v Databázy | 0 | 828 | 13.11.2008 21:50 lukinno | | SQL injection v Databázy | 7 | 814 | 11.01.2010 17:17 Antuanet |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|