Autor Zpráva
Delegal
Profil
Ahoj, mám malý problém.
Při ochraně zápisu do databáze před XSS používám ochranu: strip_tags,
ale podle PHP.net je tato funkce blbá, zastaralá,... Proto jsem se rozhodl přejít na novou ochranu typu: htmlspecialchars().
Tu se vyskytl další problém...
nedokážů tuto metodu správně aplikovat pač ji nerozumím a jsem amatér.
(Pokaždé mi to hlásí nějákou chybu nebo to prostě nefunguje..)
---------------------------------------------------------------------------------------------------------
Najde se někdo kdoby mi prosím pomohl? :)
---------------------------------------------------------------------------------------------------------
Vím, že to má vypadat něják takhle:
<code>
...
mysql_real_escape_string(htmlspecialchars($_POST['jmeno'])),
mysql_real_escape_string(htmlspecialchars($_POST['email'])),
mysql_real_escape_string(htmlspecialchars($_POST['vzhled'])),
...
</code>
ale prostě no... :\
---------------------------------------------------------------------------------------------------------
Tady přikládám ještě obrázek:
xROAL
Profil
Delegal:
(Pokaždé mi to hlásí nějákou chybu nebo to prostě nefunguje..)
A to je konkrétne aká chyba? Kód ktorý si sem dal mi totiž pripadá v poriadku (až na to že tam teda máš stále strip_tags() namiesto htmlspecialchars() ktoré si chcel aplikovať).
...
mysql_real_escape_string(htmlspecialchars($_POST['jmeno'])), 
mysql_real_escape_string(htmlspecialchars($_POST['email'])), 
mysql_real_escape_string(htmlspecialchars($_POST['vzhled'])),
...
Áno, takto by to mohlo vypadať.

Inak keď sme pri tej zastaranosti - mysql je rovnako považované za zastarané (od PHP 5.5.0, do budúcna sa plánuje jeho úplne odstránenie) a odporúča sa prejsť na PDO alebo Mysqli.
tiso
Profil
Delegal: mal by si si prečítať príručku.
peta
Profil
Delegal:
"Pokaždé mi to hlásí nějákou chybu nebo to prostě nefunguje."
Text te chyby jsi cetl a porozumnel mu? A kdyz nerozumis, tak ji napis aspon sem.

strip_tags - odstrani tagy (zobrazi pouze text, bez tagu)
htmlspecialchars - prevede tagy na entity (zobrazi html kod)
Ty dve funkce delaji kazda neco jineho. Ale tagy muzes odstranovat regularnim vyrazem, pokud chces vsechny. A mozna by se tam vyplatil cyklus, pro tolik hodnot.

tiso:
Json_encode neni javascriptova funkce. Vlevo by tam nesmela byt carka mezi js a json.
Schazi tam escapovani url v js.
jenikkozak
Profil
peta:
Json_encode neni javascriptova funkce.
Tvrdí někdo opak?
Vlevo by tam nesmela byt carka mezi js a json.
V té tabulce je to správně.
Schazi tam escapovani url v js.
Tomu se nedivím. Když je to článek o escapování v PHP.
peta
Profil
jenikkozak:
"V té tabulce je to správně." neni.
Tam je "javascript, json" Coz znamena, ze to plati jak pro js, tak i pro json. Coz neni pravda.
tiso
Profil
peta:
Tam je "javascript, json" Coz znamena, ze to plati jak pro js, tak i pro json. Coz neni pravda.
Hovorí ti niečo JSON vytvorený pomocou 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: