Ochrana vstupu v PHP

Programovacie jazyky, rady, poradňa...
m3thod-man
Star
Star
Príspevky: 561
Registrovaný: 23 sep 2005, 15:17
Kontaktovať používateľa:

Ochrana vstupu v PHP

Príspevok od používateľa m3thod-man »

Zdravim!
Potrebujem poradit jak najlepsie ochranit vstup pri skriptoch php pred vsemoznymi druhmi injection a inych utokov. Pri prihlasovani,registrovani a celkovo pri praci s DB. Nasiel som par funkcii,precital neake clanky ale mam vtom neaky chaos.Tych funkcii je neak vela ( addslashes(),stripslashes(),mysql_real_escape_string(),htmlspecialchars(),eregi_replace() ):(

:new04:
vivaSlovakia
Guru wannabe
Guru wannabe
Príspevky: 2119
Registrovaný: 29 júl 2006, 10:30

Príspevok od používateľa vivaSlovakia »

mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

tak trim() ti velmi nepomoze.
najdolezitejsie su mysql_real_escape_string() a htmlentities();
prva z vymenovanych funkcii ta ochrani pred sql injection a treba nou osetrovat VSETKY parametre akejkolvek sql query
druha funkcia ta ochrani pred html injection a s nou suvisiacim XSS.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pozri, či máš zapnuté magic quotes (teda automatické používanie tých funkcií) (funkcia get_magic_quotes_gpc()).
m3thod-man
Star
Star
Príspevky: 561
Registrovaný: 23 sep 2005, 15:17
Kontaktovať používateľa:

Príspevok od používateľa m3thod-man »

- skusam tu funkciu mysql_real_escape_string(), ale vidim ze prepusta ciarky,dvojbodky,bodkociarku. To nevadi??Da sa stym porobit neaka neplecha??
- a ked hashujem heslo hned tam to nemusim riesit,ze?
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Príspevok od používateľa hojko »

Hlavne je, aby to neprepustalo zatvorky, ci uz hranate alebo oble. Hashovanie hesla je hadam automatika, je to minimalna bezpecnost, takze MD5 je nevyhnutne. Myslim, ze dobre by bolo zvolit skor cestu SHA1, je to predsalen bezpecnejsie ako MD5.
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

Poznate niekto dobre stranky ohladne bezpecnosti v php a mysql? Taktiez ma to velmi zaujima. Ak by ste poznali aj take stranky, kde sa pise o sposobe "hacknutia" nezabezpecenych php stranok, tak prosim hodte link. :) Ide o to, ze si chcem na svojich strankach vyskusat, v akom su stave, no nepoznam sposoby ako to otestovat..
m3thod-man
Star
Star
Príspevky: 561
Registrovaný: 23 sep 2005, 15:17
Kontaktovať používateľa:

Príspevok od používateľa m3thod-man »

hojko napísal:Hlavne je, aby to neprepustalo zatvorky, ci uz hranate alebo oble. Hashovanie hesla je hadam automatika, je to minimalna bezpecnost, takze MD5 je nevyhnutne. Myslim, ze dobre by bolo zvolit skor cestu SHA1, je to predsalen bezpecnejsie ako MD5.
no to je divne,zatvorky to normalne prepusta. Skusal som hranate aj oble a presli.

hashovanie len SHA1, neni sice ties dokonale ale lepsie ako md5.Najlepsie este poistit neakymi nahodnym stringom.
vivaSlovakia
Guru wannabe
Guru wannabe
Príspevky: 2119
Registrovaný: 29 júl 2006, 10:30

Príspevok od používateľa vivaSlovakia »

ppt napísal:Poznate niekto dobre stranky ohladne bezpecnosti v php a mysql? Taktiez ma to velmi zaujima. Ak by ste poznali aj take stranky, kde sa pise o sposobe "hacknutia" nezabezpecenych php stranok, tak prosim hodte link. :) Ide o to, ze si chcem na svojich strankach vyskusat, v akom su stave, no nepoznam sposoby ako to otestovat..
http://www.soom.cz
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

co s tym maju zatvorky? si myslel uvodzovky vsak?
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Príspevok od používateľa lama2d »

:arrow:

Kód: Vybrať všetko

function sqlesc($x) {
 $x = stripslashes($x);
return "'".mysql_real_escape_string($x)."'";
}

function sqlwildcardesc($x) {
    return str_replace(array("%","_"), array("\\%","\\_"), mysql_real_escape_string($x));
}
roman3x
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 448
Registrovaný: 02 nov 2005, 18:30
Kontaktovať používateľa:

Príspevok od používateľa roman3x »

lama2d napísal::arrow:

Kód: Vybrať všetko

str_replace(array("%","_"), array("\\%","\\_")
preco konkretne toto?
Napísať odpoveď