Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Ochrana formuláře

Igor.Foltyn
verified
rating uzivatele
(4 hodnocení)
4. 4. 2007 13:23:24
Udělal jsem pro jeden svůj web vkládání komentářů. Celkem snadná aplikace, ve Wordpressu samozřejmost no ale k věci: mám tam snad všechny možné ochrany ale jedna mi ještě chybí a zatím jsem nenašel žádný návod, jak ji udělat. Jde mi o to, aby do těch komentářů lidi nevkládali tagy jako nebo a podobne. Taky je takhle jiste mozne vlozit nejake kody urcene k hackingu a toho bych se nerad dozil ze mi nekdo tu databazi smazne :) Jsou v ni sice jen ty komentare, ale lidi by se nezlobili na toho hackera ale na me, ktery to dostatecne nezabezpecil :) Jinak prispevky se z formulare pretahnou na promenny a pak se zapisou do MySql databaze.
Takze bych chtel pozadat o radu, jak neco takoveho co nejsnadnejsim zpusobem udelat.
4. 4. 2007 13:23:24
https://webtrh.cz/diskuse/ochrana-formulare/#reply5916
--FReeZ--
verified
rating uzivatele
4. 4. 2007 13:38:38
Uzivatelsky vstup (komentar) po prijeti muze byt osetren dvemi zakladnimi zpusoby:
1. funkci htmlspecialchars($vstup, ENT_QUOTES); tim se prevedou specialni znaky na html entity, tim tagy ztrati vyznam, ale budou se zobrazovat.
2. funkci strip_tags(), tzn. $vstup = strip_tags($vstup);, tagy se oriznou a bude vracen pouze textovy obsah.
Data pred ulozenim do MySQL DB se museji escapovat pomoci funkce mysql_real_escape_string(); a take by se melo kontrolovat, zda napriklad vstup cislo skutecne uzivatel vyplnil cislem, k tomu slouzi mj. pretypovani int() a zjistovani is_numeric()
4. 4. 2007 13:38:38
https://webtrh.cz/diskuse/ochrana-formulare/#reply5915
Igor.Foltyn
verified
rating uzivatele
(4 hodnocení)
4. 4. 2007 13:52:23
Skvele diky za info. Doufam, ze to bude fungovat v php 5. Asi vyzkousim tu prvni funkci htmlspecialchars, to vypada dobre. Je to pak mozny rovnou soupnout do databaze nebo je treba navic pridat i funkci mysql_real_escape_string() ?
Co se tyce ty druhy casti, automaticky se mi tam pred vlozenim do databaze vkladaji pred uvozovky a dalsi podobne znaky takze to jenom pred vypsanim z databaze projedu pres stripslashes($row)
Diky za info!
4. 4. 2007 13:52:23
https://webtrh.cz/diskuse/ochrana-formulare/#reply5914
--FReeZ--
verified
rating uzivatele
4. 4. 2007 14:46:38
neni zac, mysql_real_escape_string() je potreba pouzit v kazdem pripade pro veskere vstupy od uzivatele, ukladane do databaze. Viz SQL injection http://www.acunetix.com/websitesecurity/sql-injection.htm
4. 4. 2007 14:46:38
https://webtrh.cz/diskuse/ochrana-formulare/#reply5913
Mirun
verified
rating uzivatele
(13 hodnocení)
8. 4. 2007 10:45:37
u strip_tags je výhoda v tom, že můžeš zvolit, které tagy jsou povolené, takže můžeš nechat uživatele alespoň boldit a underlinit, aby to nebylo nuda :), na img opravdu pozor je to velmi nebezpečné.
8. 4. 2007 10:45:37
https://webtrh.cz/diskuse/ochrana-formulare/#reply5912
paia
verified
rating uzivatele
9. 4. 2007 10:05:48
nejlepsi je, nadefinovat si vlastni tagy a ty par grepovat a prevadet na standardni HTML. takhle to mam ja...
9. 4. 2007 10:05:48
https://webtrh.cz/diskuse/ochrana-formulare/#reply5911
Acci
verified
rating uzivatele
(1 hodnocení)
9. 4. 2007 12:42:57
Kdepak, nejlepší je použít Texy!
9. 4. 2007 12:42:57
https://webtrh.cz/diskuse/ochrana-formulare/#reply5910
paia
verified
rating uzivatele
11. 4. 2007 11:38:39
Acci: no nevim, me se texy vubec nelibi, navic integrace do vlastnich skriptu neni tak jednoducha, jako jeden radek grepu...
11. 4. 2007 11:38:39
https://webtrh.cz/diskuse/ochrana-formulare/#reply5909
Acci
verified
rating uzivatele
(1 hodnocení)
12. 4. 2007 18:46:48
navic integrace do vlastnich skriptu neni tak jednoducha, jako jeden radek grepu...
Ano, je to velmi složité. Tři řádky jsou strašně moc.
12. 4. 2007 18:46:48
https://webtrh.cz/diskuse/ochrana-formulare/#reply5908
Igor.Foltyn
verified
rating uzivatele
(4 hodnocení)
13. 4. 2007 21:39:06
Takze zda se, ze jsem to zdarne vyresil. Sjizdim to funkci htmlspecialchars a funkci mysql_real_escape_string. Byl to skvely pocit to dodelat do naprosto dokonale podoby :) Diky vsem za help, hlavne ale id --====--
thanx!
13. 4. 2007 21:39:06
https://webtrh.cz/diskuse/ochrana-formulare/#reply5907
No nevím mě texy pořád nepřipadá, že by ho dokázala používat třeba moje máti. Pro to je ideální třeba TinyMCE v simple rozhraní. No a z toho potřebuju HTML tagy zpracovávat.
Když už se tady na to ptáte, tak bych potřeboval nějaký čistič HTML, který by povolil jen některé tagy, nepovolil by hacky typu a podobné, vyházel všechny nechtěné atributy apod. Koukal jsem do Pearu, ale je tam akorát nějaká šílená stará knihovna. Máte na to někdo něco?
4. 9. 2007 21:51:46
https://webtrh.cz/diskuse/ochrana-formulare/#reply5905
Hacky
verified
rating uzivatele
(1 hodnocení)
27. 10. 2007 17:53:52
mě se teda ještě nepovedlo texy dostat do mych skriptu nějak sem to nepochopil
27. 10. 2007 17:53:52
https://webtrh.cz/diskuse/ochrana-formulare/#reply5904
Igor.Foltyn
verified
rating uzivatele
(4 hodnocení)
29. 10. 2007 21:13:48
tak po nejake dobe muzu rict, ze spammeri muj dokonaly formular obesli a nektere weby s diskuzemi zavalili spamy :(
29. 10. 2007 21:13:48
https://webtrh.cz/diskuse/ochrana-formulare/#reply5903
Jan Pacek
verified
rating uzivatele
(4 hodnocení)
29. 10. 2007 22:50:34
Platí základní pravidla:
1) V případě, že není zapnutá direktiva magic_quotes_gpc, musíš před zápisem do db escapovat metaznaky (apostrofy, apod.) funkcí addslashes().
2) Funkce htmlspecialchars() se používá až při výstupu (výpis komentáře).
3) Funkce strip_tags() je pro ošetření nevhodná, protože se dá lehce obejít a uživatele může zaskočit.
Doporučuji přečíst:
- http://php.vrana.cz/escapovani.php
- http://php.vrana.cz/strip_tags.php
- kniha "Zranitelný kód"
29. 10. 2007 22:50:34
https://webtrh.cz/diskuse/ochrana-formulare/#reply5902
Pro odpověď se přihlašte.
Přihlásit