HTML validovanie cez PHP
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
HTML validovanie cez PHP
Zdar vospolok.
V prvom rade sa ospravedlnujem ak sa to tu uz riesilo potom -> zlucit, zmazat, whatever.
Co mam za problem? Da sa nejako lahko a rychlo zvalidovat ci je v poriadku HTML kod pomocou PHP? To znamena ci su spravne vnorene tagy respe su spravne uzavrete/otvorene medzi sebou? Nehladam ziaden externy validator, nechcem instalovat ziadne rozsirenie to php, hladam skor nejaku funkciu respektive nejaky relativne jednoduchy napad.
Dakujem
V prvom rade sa ospravedlnujem ak sa to tu uz riesilo potom -> zlucit, zmazat, whatever.
Co mam za problem? Da sa nejako lahko a rychlo zvalidovat ci je v poriadku HTML kod pomocou PHP? To znamena ci su spravne vnorene tagy respe su spravne uzavrete/otvorene medzi sebou? Nehladam ziaden externy validator, nechcem instalovat ziadne rozsirenie to php, hladam skor nejaku funkciu respektive nejaky relativne jednoduchy napad.
Dakujem
Re: HTML validovanie cez PHP
plugin do prehliadaca ?
Re: HTML validovanie cez PHP
Všetko je popísané tu, stačí obetovať 2 sekundy Googlenia.
// Preto treba nabudúce do otázky zahrnúť aj ako ďaleko si došiel, resp. čo si vyskúšal.
// Preto treba nabudúce do otázky zahrnúť aj ako ďaleko si došiel, resp. čo si vyskúšal.
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
Re: HTML validovanie cez PHP
Googlil som to viac ako dve sekundy, ja tu nenapisem skor, ako nieco neviem vyriesit aspon 2 dni. Ten DOMDocument je fasa vec. To som nasiel aj sam. Par warningov som potlacil ale take veci ako
tak tam mi potlacenie nepomoze. Nahodou niekto nejake skusenosti?\Warning: DOMDocument::validate(http://www.w3.org/TR/REC-html40/loose.dtd): failed to open stream: HTTP request failed! in /var/www/html/oop.php on line 67
Warning: DOMDocument::validate(): I/O warning : failed to load external entity "http://www.w3.org/TR/REC-html40/loose.dtd" in /var/www/html/oop.php on line 67
Warning: DOMDocument::validate(): Could not load the external subset "http://www.w3.org/TR/REC-html40/loose.dtd" in /var/www/html/oop.php on line 67
Potrebujem overit vstup od uzivatela na webe, takze toto mi nepomoze.sharky-no napísal:plugin do prehliadaca ?
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: HTML validovanie cez PHP
V tom vstupe mozu abyt akeolvek tagy, alebo je to daco ako vyucbovy web, kde ti staci obmedzene mnozstvo tagov?
-
*****HERO*****
Guru wannabe
- Príspevky: 2446
- Registrovaný: 08 máj 2006, 1:34
Re: HTML validovanie cez PHP
v oboch pripadoch snad musi pocitat s tym, ze mu zo vstupu moze prist cokolvek 
ja by som to v tvojom pripade riesil cez oficialny w3 validator. proste si tam cez cURL posles request, sparsujes vysledok a mas vystarane. nie najidealnejsie riesenie, ale rozhodne najjednoduchsie
ja by som to v tvojom pripade riesil cez oficialny w3 validator. proste si tam cez cURL posles request, sparsujes vysledok a mas vystarane. nie najidealnejsie riesenie, ale rozhodne najjednoduchsie
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: HTML validovanie cez PHP
To ano, ale implementacia bude ina.*****HERO***** napísal:v oboch pripadoch snad musi pocitat s tym, ze mu zo vstupu moze prist cokolvek![]()
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
Re: HTML validovanie cez PHP
Ide o bmedzeny pocet tagov. Vsetko zakazujem a prevadzam na html entity. Samotny vstup ale nebude HTML, ale phpbb tag (vlastny skript na pozadi, nie z phpbb), a tam si nemozem dovolit, aby mi vznikla zmaska bullshitneho kodu.
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: HTML validovanie cez PHP
Tak na to ti stacia regexpi, napr "\[b\](.*?)\[/b\]", vyparsujes si vnutro tagov v nom skontrolujes ci sa nachazdju len tie spravne, a ci ti v cistom texte nehodou nezostal neuzavrety tag.
Alebo tieto tagy nahradis XML tagmi a npises si k tomu vlastne DTD a pomocou neho zvalidujes.
Alebo tieto tagy nahradis XML tagmi a npises si k tomu vlastne DTD a pomocou neho zvalidujes.
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
Re: HTML validovanie cez PHP
Do xml a DTD sa prd rozumiem, ale zjavne si budem musiet nieco nastudovat, ak nezriesim nic pomocou pvej moznosti. Napada mi pri tom totiz par veci, ktore mozu robit opat problemy, ale to snad vyriesim, ked mi bude lepsie palit, musim sa na to vyspat, dlhy den. Vdaka zatial za rady, ak sa zas zaseknem, tak sa ozvem 
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: HTML validovanie cez PHP
Praca s XML je par funkcii/metod a ani DTD sa nemusis bat, spolu sa to da zvladnut za par (2-3) hodiny.S.T.E.A.L.T.H napísal:Do xml a DTD sa prd rozumiem, ale zjavne si budem musiet nieco nastudovat, ak nezriesim nic pomocou pvej moznosti. Napada mi pri tom totiz par veci, ktore mozu robit opat problemy, ale to snad vyriesim, ked mi bude lepsie palit, musim sa na to vyspat, dlhy den. Vdaka zatial za rady, ak sa zas zaseknem, tak sa ozvem
Co sa tyka parsovania cez regexpi, tak tam je to zlozitejsie a viac implementacie bude na tebe.
Ale este je aj tretia alternatva, http://sourceforge.net/projects/lime-php/ vies si zadefinovat gramatiku aku len chces a hned to preklopit aj do HTML-ka. Bolo by to podla mna najelegantnejsie riesnie, ale to by si musel aspon trochu ovladat teoreticku informatiku.
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
Re: HTML validovanie cez PHP
Vdaka za pomoc, zatial som to vyriesil tak, ze som si vytvoril easy xml dokument a ten nacitam cez SimpleXMLElement() cez try. Ak prejde, tak je well-formed ak nie, tak nie je a nepustim to dalej. Zatial to robi, co si predstavujem.