konto usunięte

Temat: mysql_real_escape_string i get_magic_quotes_gpc() - ataki...

no wiec pytanie w jaki sposob powinienem uzyc tych obu funkcji aby ustrzec sie od ataku SQL Injection. Jak przekształcic takie zapisywanie do bazy:

$query = "INSERT INTO users (name, url, mail, pass, abo, przelew) VALUES ('$nazwa', '$url', '$mail', '$pass1', '0', '6');";
$wynik = mysql_query ($query);

zmienne zapisywane pochodza z $_POST[]. np:

$nazwa = $_POST['nazwa'];
Piotr Burant edytował(a) ten post dnia 27.05.09 o godzinie 00:35
Marcin Laber

Marcin Laber internet
technologies
magician

Temat: mysql_real_escape_string i get_magic_quotes_gpc() - ataki...

Piotr Burant:
zmienne zapisywane pochodza z $_POST[]. np:

$nazwa = $_POST['nazwa'];

1. Zamienić zmienne na:
$_POST['nazwa'] = mysql_real_escape_string($_POST['nazwa']);

i analogicznie pozostałe zmienne.

2. Zapytanie zamienić na:
$query = "INSERT INTO users  (name, url, mail, pass, abo, przelew) VALUES ('" . $_POST['nazwa'] . "', '" . $_POST['url'] . "', '" . $_POST['mail'] . "', '" . $_POST['pass1'] . "', 0, 6);";
$wynik = mysql_query ($query);

konto usunięte

Temat: mysql_real_escape_string i get_magic_quotes_gpc() - ataki...

A najlepiej - PDO - prepared statements.

[update] poprawilem slowo prepare na prepared :)Marcin Bachleda edytował(a) ten post dnia 27.05.09 o godzinie 01:08

konto usunięte

Temat: mysql_real_escape_string i get_magic_quotes_gpc() - ataki...

a jesli zapisze zmienne w tensposob przy rejestracji np. to w skrypcie logowania przy sprawdzaniu poprawnosci nalezy rowniez te zmienne przedstawic w ten sposob?? np:

$_POST['login'] = mysql_real_escape_string($_POST['login']);
$_POST['haslo'] = mysql_real_escape_string($_POST['haslo']);


co oznacza 0, 6 pod koniec zapytania mysql.

a co do PDO to jesli tego uzyje to mam jeszcze zmienne przepuszczac przez mysql_real_escape_string??Piotr Burant edytował(a) ten post dnia 27.05.09 o godzinie 08:48

konto usunięte

Temat: mysql_real_escape_string i get_magic_quotes_gpc() - ataki...

Jesli uzyjesz PDO, uzyj metody prepare, ktora zwroci Ci statement na ktorym mozesz "przywiazywac" wartosci - bindParam lub bindValue. Wtedy wszystko dzieje sie "poza scena", i nie musisz sie martwic o escape'owanie danych wejsciowych.

Spojrz na ten link: http://publib.boulder.ibm.com/infocenter/db2luw/v9/ind...Marcin Bachleda edytował(a) ten post dnia 27.05.09 o godzinie 12:33

konto usunięte

Temat: mysql_real_escape_string i get_magic_quotes_gpc() - ataki...

http://www.goldenline.pl/forum/programisci-www/696908



Wyślij zaproszenie do