sk1ll3r 0 Odesláno: 18. Únor, 2012 Share Odesláno: 18. Únor, 2012 Caute. Prosím vás pomôžte. Robím registráciu v PHP a chcem to zabezpečiť proti sql injection ... Poviete mi či to mám dobre zabezpečené?? Použil som mysql_real_escape_string.. Tu je ten register.php: <?php session_start(); Include('config.php'); Require_once('maincore.php'); error_reporting(E_ALL ^ E_NOTICE); $name = $_POST['name']; $email = $_POST['email']; $password = $_POST['password']; $c_password = $_POST['c_password']; $sex = $_POST['sex']; $day = $_POST['day']; $month = $_POST['month']; $year = $_POST['year']; $registered = date(d . '.' . m . ' ' .Y); if(!$_SESSION['id']) { switch($_GET['action']) { case 'register': if(!empty($name) && ($email) && ($password) && ($c_password) && ($sex) && ($day) && ($month) && ($year)) { if($password == $c_password) { $Query = MySQL_Query("INSERT INTO users (name, email, password, sex, day, month, year, registered) VALUES( '".mysql_real_escape_string($name)."', '".mysql_real_escape_string($email)."', '".mysql_real_escape_string($password)."', '".mysql_real_escape_string($sex)."', '".mysql_real_escape_string($day)."', '".mysql_real_escape_string($month)."',, '".mysql_real_escape_string($year)."', '".mysql_real_escape_string($registered)."'"); echo "Bol/a ste úspešne zaregistrovaný/á! Vrátiť späť."; } else { echo "Heslá sa nezhodujú!"; } } else { echo "Nevyplnil/a ste povinné údaje"; } } echo " Polia označené * sú povinné! * Meno: * Email: * Heslo: * Zopakuj heslo: * Pohlavie: Muž Žena * Deň: * Mesiac: * Rok: (Príklad: 12 05 1990) "; } else { echo "Vitaj " . $_SESSION['fname'] . "!"; } ?> PS: Tie komentáre typu: Vygoogli si, Ked to nevieš tak to nerob atd... si odpustite Link to comment Share on other sites More sharing options...
0 GAMELASTERツ 73 Odesláno: 19. Únor, 2012 Share Odesláno: 19. Únor, 2012 este pridaj htmlspecialchars a este nieco, no nwm si spomenut co.. Link to comment Share on other sites More sharing options...
0 mimic 27 Odesláno: 19. Únor, 2012 Share Odesláno: 19. Únor, 2012 proboha na co by měl přidávat htmlspecialchars? Všechno obstará mysql_real_escape_string... jinák bylo by dobrý pořešit vstupní znaky, přeci jenom jde stále zadat nesmysl do každé kolonky + heslo rozhodně hashuj, takto je to fatální chyba, nastavim v hesle posledni znak "\" a ono mi to upraví ještě a nebudu se moct přihlásit... Link to comment Share on other sites More sharing options...
0 sk1ll3r 0 Odesláno: 19. Únor, 2012 Author Share Odesláno: 19. Únor, 2012 Takže heslo hashovat a co dalej?? Link to comment Share on other sites More sharing options...
0 michy04 2 Odesláno: 19. Únor, 2012 Share Odesláno: 19. Únor, 2012 Je to jednoduché a já bych to udělal nějak takto - Máš registraci a tam pole, kam uživatel píše heslo - $password = mysql_real_escape_string(sha1($_POST["password"])); if(/*Nejake podminky, delka hesla....*/) { mysql_query(/*ulozis heslo do DB*/); } takhle asi nějak.... Ještě lepší je napsat si funkci, který ti vráti bezpečný input - Např.: function GetHash($input) { $temp = $input; $temp = mysql_real_escape_string($temp); $temp = sha1($temp); return $temp; } No a pak už tu funkci jenom použiješ.... Link to comment Share on other sites More sharing options...
0 sk1ll3r 0 Odesláno: 20. Únor, 2012 Author Share Odesláno: 20. Únor, 2012 Aha... dikes... Velmi pekne dakujem. Link to comment Share on other sites More sharing options...
Dotaz
sk1ll3r 0
Caute. Prosím vás pomôžte. Robím registráciu v PHP a chcem to zabezpečiť proti sql injection ...
Poviete mi či to mám dobre zabezpečené?? Použil som mysql_real_escape_string..
Tu je ten register.php:
PS: Tie komentáre typu: Vygoogli si, Ked to nevieš tak to nerob atd... si odpustite
Link to comment
Share on other sites
5 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now