Autor | Zpráva | ||
---|---|---|---|
Damian Profil * |
#1 · Zasláno: 25. 4. 2008, 11:09:11
Resim ted zabezpeceni sveho scriptu co se tyce kontroly textu, ktery prichazi od uzivatele. Na vsechny promenne GET i POST sem si nastavil aby to profiltrovalo vsechny jejich hodnoty pomoci htmlspecialchars, myslite si ze to staci? (Jsou sice i funkce co tagy atp. uplne orezou ale ja je tam potrebuji nechat pro pripadny zpetny prevod)
Mel bych kontrolou protahnout i nazvy promennych? diky |
||
vertigo4 Profil |
#2 · Zasláno: 25. 4. 2008, 11:17:37
Damian
já bych ještě to prohnal přes addslashes() a při výpisu stripslashes() |
||
Damian Profil * |
#3 · Zasláno: 25. 4. 2008, 12:36:49
Ukládat do databáze znaky typu " a ' neni bezpecne bez lomitkovani?
Respektive mam to do databaze ukladat uz ve tvaru \' a \" nebo to mam primo pri zapisu v dotazu vyfiltrovat pomoci stripslash a ukladat primo ' a " ? |
||
Damian Profil * |
#4 · Zasláno: 25. 4. 2008, 12:40:25
nebo misto htmlspecialchars pouzit htmlentities a htmlentities decode pri vypisu to by melo ten problem vyresit protoze pokud se nepletu tak to uvozovky a apostrofy prevede na entity
|
||
Warden Profil |
#5 · Zasláno: 25. 4. 2008, 12:44:38
při vkládání do databáze by se měla použít funkce mysql_real_escape_string() pokud nejsou zapnuté magic_quotes_gpc
|
||
Damian Profil * |
#6 · Zasláno: 25. 4. 2008, 13:43:08
Tak sem to upravil aby se podminka podivala jestli jsou zaple magic_q. a pokud ne pouzije se mysq_escape... staci to tak?
(Predpokladam ze html znaky typu < a > nebezpecne primo php nebo mysql scriptu nejsou...?) |
||
vertigo4 Profil |
#7 · Zasláno: 25. 4. 2008, 13:45:01
Damian
ne? to potom můžu propašovat javascript, php.. |
||
Warden Profil |
#8 · Zasláno: 25. 4. 2008, 13:50:49
Damian
ono je lepší ty magic_quotes_gpc rovnou v hlavním .htaccess vypnout, protože když jsou zapnuté, tak ti escapují všechny proměnné...ne jen ty, co pak vkládáš do DB, ale všechny, které přijdou přes GPC - tedy get, post, cookie |
||
Warden Profil |
#9 · Zasláno: 25. 4. 2008, 13:56:57
vertigo4
php sice propašuješ, ale není ti to nic platné, pokud tu proměnnou neprožene přes eval() nebo podobný hnus, ale to se snad nikde nepoužívá, respektive je tato funkce snad všude zakázaná... jinak s javascriptem máš samozřejmě pravdu, na to je potřeba dát pozor...prostě platí zásada kontrolovat, kontrolovat a když si myslíš, že už máš vše zkontrolováno, tak radši zkontrolovat ještě jednou :) |
||
Damian Profil * |
#10 · Zasláno: 25. 4. 2008, 14:07:34
To automaticke escapovani mi tam nevadi krom policka formulare kde uz to mam ted posefovane do vsech ostatnich policek patrej jen pismena nebo cisla takze jine znaky byl tam uzivatel s cistym umyslem urcite nezadaval :)
Co se tyce tech < > to mam prave tak schvalne aby js a tagy sly vkladat.. resp chci aby uzivatel mohl vkladat normalne html taky ale urcite ne casti php kodu ktere se provedou, coz se myslim nestane protoze to mam osetrene |
||
Damian Profil * |
#11 · Zasláno: 25. 4. 2008, 14:20:52
Jak muzu otestovat jestli to mam hackuvzdorne? Zkousel sem do formulare zadavat veci jako
<? echo"55" ?> "; echo 55; jsou jeste jine tvary? (formular se proseje funkcema a pak se ulozi do databaze ze ktere se nasledne vypisuje na stranku) |
||
Warden Profil |
#12 · Zasláno: 25. 4. 2008, 15:24:23
nechat vkládat čisté html a javascript je sebevražda...krádeže identit, SID, XSS...doporučuji přečíst nějaké články o bezpečnosti
|
||
Damian Profil * |
#13 · Zasláno: 25. 4. 2008, 15:38:53
Html bude moct vkladat jen par nastavenych lidi ostatni si nevlozej bez entit ani apostrofu:)
Tak snad uz to mam dostatecne posefovane, mam tam escapovani " ' a entitovani < > to by melo stacit...? |
||
suky Profil |
#14 · Zasláno: 25. 4. 2008, 22:20:41
Damian
Nestaci, koukni jak je to v teto diskuzi a podobne to zaved i ve tve aplikaci, krome bezpecnosti bude vyhodou i to, ze uzivatel nebude muset znat HTML... |
||
Časová prodleva: 3 měsíce
|
|||
Lolek Profil * |
#15 · Zasláno: 1. 8. 2008, 10:59:10
|
||
Časová prodleva: 16 let
|
0