Autor Zpráva
Damian
Profil *
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
Damian
já bych ještě to prohnal přes addslashes() a při výpisu stripslashes()
Damian
Profil *
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 *
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
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 *
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
Damian
ne? to potom můžu propašovat javascript, php..
Warden
Profil
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
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 *
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 *
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
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 *
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
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...
Lolek
Profil *
Tady o tom je třeba článek

http://v6ak.profitux.cz/clanky/co-je-spatneho-na-magic-quotes-gpc.php

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: