![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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. :? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 06:53 |