Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SQL Injection
tamin
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 6.09.2003

Ostrzeżenie: (0%)
-----


Chcialbym sie dowiedziec jak najlepiej sie zabezpieczyc przed 'atakami' SQL Injection.
mam powiedzmy takie zapytanie do bazy mysql:

[sql:1:d1814ccdee]
select * from news WHERE nr = '$show'
[/sql:1:d1814ccdee]
I czy to wystarcza. Bo spotykalem sie z:

Kod
$show=intval($show);

select * from news WHERE nr = '$show'


Dla mnie to jest niepotrzebne bo po 'testach' ktore przeprowadzilem moge powiedziec ze uzycje intval jest niepotrzebne bo w zapytaniu sql sa ' '.

Wiec potrzebne czy niepotrzebne, a jak np. $show to ma byc tekst a nie liczba to czy wystarcza '' czy trzeba jeszcze robic addslashes() itp.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
menic
post
Post #2





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

Ostrzeżenie: (0%)
-----


te ' ' są wymagane przez mysql, a nie do zabezpieczenia przez sqlinjection (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
ŹŁe. Moze nie wymagane, ale potrzebne, bo jak np. pod zmienna $show bedzie wartość np. where a nie bedzie '' to ci wypluje bład (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Przy wartościach numerycznych samo intval() wystarczy. Natomiast sprawa sie komplikuje przy stringach. :?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 06:53