Dělám web kde se strašně hodně hodnot zadaných uživatelem ukládá do DB. Chtěl bych ho co nejvíce ošetřit. Text v URL jsou pouze číselné, to kontroluju.
Zatím mě napadlo v textu nahrazovat ' -> \' "->\" a \ -> \\ před uložením do DB, a na HTML entity nebo jak se tomu říká př & na & apod. Chtěl bych poradit od zkušenějšcíh kde jěště co a jak.
Díky
Myslím že toto bude pro všechny přínosem.
Zabránění SQL a PHP injection
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Zabránění SQL a PHP injection
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Zabránění SQL a PHP injection
Tu funkci znám, ale nějak nevím co s tím HTML.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- OndraSter
- Středně pokročilý

- Registrován: 22. úno 2006
- Bydliště: Praha / ČVUT FIT
- Kontaktovat uživatele:
Re: Zabránění SQL a PHP injection
htmlspecialchars je nejjednodušší použít
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Zabránění SQL a PHP injection
Díky, přesně tuto jsem hledal. Jednu mi doporučil kámoš http://www.php.net/manual/en/function.strip-tags.php ale tato jenom vyhodila poznámky. Nebo alespoň jsem to tak pochopil.
btw. Pořádně jsem přečetl to co postnul Bubanek a nejsem z toho moudrý. Chápu to takto
Tento kód
nelze použít protože by mohla funkce get_magic_quotes_gpc() to provést, a poté jěště já tou mysql_real_escape_string. takže to ve výsledku bude takto?
btw. Pořádně jsem přečetl to co postnul Bubanek a nejsem z toho moudrý. Chápu to takto
Tento kód
Kód: Vybrat vše
mysql_query("SELECT * FROM tabulka WHERE nazev = '" . mysql_real_escape_string($_GET["nazev"]) . "' OR id = " . intval($_GET["id"]));nelze použít protože by mohla funkce get_magic_quotes_gpc() to provést, a poté jěště já tou mysql_real_escape_string. takže to ve výsledku bude takto?
Kód: Vybrat vše
function gpc_addslashes($str) {
return (get_magic_quotes_gpc() ? $str : addslashes($str));
}
mysql_query("SELECT * FROM tabulka WHERE nazev = '" . gpc_addslashes($_GET["nazev"]) . "' OR id = " . gpc_addslashes($_GET["id"]));PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min