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
tamin
post
Post #2





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

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


Cytat
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. :?


jak pod $show podstawimy where to wypluje blad ale wlasnie wtedy mozna uzyc tego bledu. A jak sa ' ' to mozna podstawiac do woli where union itp. i nie bedzie bledu. Czyli to jest zabezpieczenie...

Wiec tak:
ja uwazam ze ' ' wystarcza i nie potrzeba intval i mysql_escape_string czy addslashes bo ' ' nie da sie ominac.

Myle sie? To moze mi ktos udowodni ze da sie Np. przy:
SELECT * from news WHERE nr = '$show'
ominac to i dorzucic AND autor=tomasz.
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: 15.09.2025 - 17:37