| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 Bydlisko: Žilina | Napísal max-m: 24.11.2009 8:38 | |
|
Caute,
na jednej mojej stranke chcem vyuzit pri prihlasovani na ochranu proti SQL Injectom (neviem, ci je to najbezpecnejsie riesenie ) toto:
Kód: function cleanQuery($string) { if(get_magic_quotes_gpc()) { $string = stripslashes($string); } if (phpversion() >= '4.3.0') { $string = mysql_real_escape_string($string); } else { $string = mysql_escape_string($string); } return $string; }
if( isset($_POST['submit'])) { $meno=cleanQuery($_POST['meno']); $meno=trim($meno); ....... vyhadzuje mi to vsak stale tuto chybu: Citácia: Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\xxxxxxxx\index.php on line 13
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\wamp\www\xxxxxx\index.php on line 13 pricom riadok 13 je ten, kde je: Kód: $string = mysql_real_escape_string($string);
v com moze byt chyba?
Poznamky: databaza existuje spolu s tabulkami, prava su nastavene tak ako maju byt a heslo na pripojenie na DB je tiez 100% OK (meno uzivatela je root - len na testovacie ucely na localhoste). Pouzivam PHP 5.3.0 a MySQL 5.1.36
DIK.
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 |
a keby si skusil odoslat aspon prazdny pass?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
si uz pred pouzitim funkcie mysql_real_escape_string() korektne pripojeny na db? podla tej chyby, co ti vypisuje, evidentne nie si...
Poznamka z manualu:
Citácia: A MySQL connection is required before using mysql_real_escape_string() otherwise an error of level E_WARNING is generated, and FALSE is returned. If link_identifier isn't defined, the last MySQL connection is used.
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 Bydlisko: Žilina | Napísal autor témy max-m: 24.11.2009 9:22 | |
|
som to upravil takto:
Kód: if( isset($_POST['submit'])) { include_once("../pripoj.php"); $meno=cleanQuery($_POST['meno']); $meno=trim($meno); .......
aby som naozaj zabezpecil pripojenie na DB. v tom subore pripoj.php je vsetko OK. meno, heslo, hostitel, nazov DB (vyuzivam to takmer vkuse, takze tam je to 100% OK). pozeral som aj na prava uzivatela pod ktorym sa pripajam na DB a meno aj heslo sedi. mozno by som este mohol uviest, ze pred nasadenim tejto "ochrany" som aplikoval na prihlasovaci form Firefox Addon SQL Inject Me (ked som videl, ze je "derave", tak som zacial riesti tuto ochranu )
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ak ti to stale vypisuje chybu, tak stale nie si pripojeny k mysql... sam vidis, ze chyba obsahuje "Access denied for user 'SYSTEM'@'localhost' (using password: NO)", cize pouzite je meno SYSTEM a ziadne heslo, a nie root...
skusil som to u seba a ked nie som pripojeny, tak mi to vypise podobnu chybu ako tebe, ale v momente, ako pridam mysql_connect pred riadok s pouzitim funkcie mysql_real_escape_string(), tak to uz funguje...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
A čo takto proti sql injection použiť niečo lepšie - prepared statements?
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
| 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
|
|