Osetreni "SQL injection " – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Osetreni "SQL injection " – PHP – Fórum – Programujte.comOsetreni "SQL injection " – PHP – Fórum – Programujte.com

 

Ruda0
Newbie
11. 7. 2008   #1
-
0
-

Ahoj,
Rad bych se vas zeptal na vase reseni "SQL injection" jakym zpusobem osetrujete data ktere ukladate do mysql?
Dik

Nahlásit jako SPAM
IP: 88.103.125.–
Kobi
~ Moderátor
+1
Věrný člen
11. 7. 2008   #2
-
0
-
Nahlásit jako SPAM
IP: 213.250.243.–
Ruda0
Newbie
11. 7. 2008   #3
-
0
-

Ano vim.. Cetl jsem ho, ale nejak mi neprisel moc prinosnej.. Jde mi spise o volne tema jak kdo co pouziva...

Nahlásit jako SPAM
IP: 88.103.125.–
SBE0
Newbie
11. 7. 2008   #4
-
0
-

Nejlepší řešení jsou parametrizované dotazy. Fungují v podstatě tak, že se na databázový server pošle parametrizovaný dotaz a jeho parametry, z dotazu se vytvoří exekuční plán a do něj se teprve vloží parametry. Tím je zajištěno, že se vykoná jen požadovaný dotaz a je jedno co parametry obsahují, protože dotaz je už hotový. Kontrola vstupu uživatele je ale i nadále nezbytná, ale pokud něco unikně, tak se není třeba SQl Injection obávat. Maximálně nastane SQL Error.
Takhle to alespoň funguje u serveru jako je MS SQL a ORACLE v kombinaci s .NET a JAVA. Nepředpokládám, že se kombinace PHP a MySQL bude chovat jinak. Pokud ano, tak bych zvážil opuštění této platformy kvůli bezpečnosti.

Nahlásit jako SPAM
IP: 213.199.128.–
hrach
~ Redaktor
+1
Boss
11. 7. 2008   #5
-
0
-

To SBE : velka slova a uplne k nicemu. ano, neumim ani zabezpecit dotaz a uz se pohrnu na oracle a mssql, protoze jsou lepsi. ne, tak to opravdu ne.

To Ruda :

//osetreni int:

mysql_query('select * from posts where id = ' . (int) $id);
// osetreni string
mysql_query('select * from posts where url = ' . mysql_real_escape_string($url));


Já ovsem nedam dopustit napriklad na dibi knihovnu, která ti to velmi ulehčí. http://dibiphp.com

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Ruda0
Newbie
11. 7. 2008   #6
-
0
-

To hrach : Uz jsem si tu knihovnu stahl a vypada dobre.. Dik

Nahlásit jako SPAM
IP: 88.103.125.–
Lamicz
~ Anonymní uživatel
8 příspěvků
12. 7. 2008   #7
-
0
-

DIBI knihovna je fajn, ale na muj vkus zacina byt docela zrout systemovych prostredku a je i relativne dost velka (cca 90kB). IMHO ma smysl hlavne u rozsahlejsich projektu, u kterych se predpoklada portovani na nekolik typu DB. Jako pouhe osetreni proti SQL injection mi to prijde zbytecne.

Nahlásit jako SPAM
IP: 78.102.185.–
hrach
~ Redaktor
+1
Boss
12. 7. 2008   #8
-
0
-

To Lamicz : paradoxně u těch větších projektů mě bude zajímat ta rychlost, kdežto tady ne, není to snad tak?

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Lamicz
~ Anonymní uživatel
8 příspěvků
12. 7. 2008   #9
-
0
-

No, ja osobne mam rad, kdyz se to hybe na kazdem projektu ;)

Nahlásit jako SPAM
IP: 78.102.185.–
marioff0
Expert
13. 7. 2008   #10
-
0
-

no ja pouzivam na osetrenie vstupu regularne vyrazy... podla mna naj riesenie....

napr. takto sa da kontrolovat vlozene uzivatelske meno obsahujuce len pismena a cislice, od 3. do 20.tich znakov...

<?php

if (eregi("^[a-z0-9]{3,20}$", $vstupnytext)) {
// tu sa vykona skript
} else {
echo "zadal si zle udaje !";
}


a samozrejme regulernymi vyrazmi mozes kontrolovat akykolvek vstup, staci dobre napisat podmienku...

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
hrach
~ Redaktor
+1
Boss
14. 7. 2008   #11
-
0
-

To marioff : to urcite, ale myslim, ze tady neslo presne o kontrolu vstupu jako takoveho, ale o zabezpeceni aplikace pred neocekavanym vstupem.

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 62 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý