jestem coraz to:Tablica pobierania MySQL dodaje zduplikowane wartości?
Array
(
[0] => 1
[id] => 1
[1] => 778613c4344dbc9565c359c1154c6a18
[session] => 778613c4344dbc9565c359c1154c6a18
[2] => fn
[first_name] => fn
[3] => ln
[last_name] => ln
[4] => un
[username] => un
[5] => 016e6128e8ca9dda1b310c364d9b622c
[password] => 016e6128e8ca9dda1b310c364d9b622c
[6] => address
[email] => address
[7] => 100
[permission] => 100
[8] => 10
[year_level] => 10
[9] =>
[department] =>
[10] => Sample
[campus] => Sample
[11] => 0
[logo_url] => 0
)
Po uruchomieniu tej
$user = mysql_fetch_array(mysql_query("SELECT session FROM users WHERE username='$cookie[username]' AND first_name='$cookie[first_name]' AND last_name='$cookie[last_name]' AND campus='$cookie[campus]' AND id='$cookie[id]'"))
pomysłów, dlaczego to powiela w ten sposób? Dzięki
EDYCJA: Myślę, że klucz podstawowy to robi. Masz pomysł, jak to zatrzymać?
-1 za powtarzanie starych bzdur. ucieczka nie ma nic wspólnego z iniekcjami SQL, ale bezmyślne ucieczkowe "wartości" sprawią, że wstrzyknięcie stanie się całkiem możliwe. –
Cóż, upewniając się, że dane wprowadzone do zapytań SQL są * bezpieczne *, mają związek z iniekcjami SQL; a ucieczkowe sznurki to sposób na upewnienie się, że są one * bezpieczne *; Mimo to, przyznaję, że mogłem dodać, że ten sam pomysł powinien być zastosowany dla wartości innych niż łańcuchowe, takich jak liczby całkowite * (upewniając się, że naprawdę zawierają liczby całkowite, na przykład z 'intval()') * –
znowu stare złudzenie. escaping nie czyni danych * "bezpiecznymi" *. to tylko formatowanie. I na pewno trzeba go używać (dla łańcuchów) nie dla jakiegokolwiek bezpieczeństwa, ale tylko po to, aby zachować spójność SQL.Liczba całkowita nie jest przypadkiem pojedynczym, identyfikator jest kolejnym przykładem kompletnej i kompletnej bezużyteczności ucieczki, która miała sprawić, że twoje "wartości" będą "bezpieczne". –