| | |  |  | ahojec, mam takovy problem s regularnima vyrazama. potrebuju dostat z html tagu mozne js udalosti a z odkazu moznost href"javascript:"
 
 jaksi mi to nechce jit, byť u toho sedim uz dva dny a tak se ptam, nevi nekdo
 jak na to?
 
 jde o to najit do i v parovych i neparovych tagach.
 
 <img onload/../onclick=""> a tady uz bych potrboval aby to smazalo celej ten
 tag.
 <a href="javascript: ..">lalala</a> tady to same.
 
 dekuji :-)
 (odpovědět)
 |  | | Imhotep | 90.180.194.* | 9.10.2010 18:18 | 
 | 
 | 
 | 
| | |  |  | $regexp = "[onclick|onload|onerror|onCokoliChces]=[\"
 \'](.*)[\"\']";
 
 if(preg_match_all("/$regexp/siU", $data, $matches)) {
 var_dump ($matches[1]);
 } else {
 echo "nic takeho tutaj neni...";
 }
 
 v $data mas nejke svoje html...  vycet udalosti si dopln jek chces..
 (odpovědět)
 |  | | PcDr. Marty | 89.102.248.* | 9.10.2010 20:22 | 
 | 
 | 
 | 
| | |  |  | nepocita to s href="javascript: Ale to uz si snad podle toho upravis..
 (odpovědět)
 |  | | PcDr. Marty | 89.102.248.* | 9.10.2010 20:24 | 
 | 
 | 
 | 
| | |  |  | ahoj, diky ale nefunguje to. trosku jsem to kvuli tomu predelal, protoze se zda ze by to fungovat melo. 
 $matches = "<a href=\"\" onload=\"\">neco</a>";
 
 if(preg_replace("#<(.*)([onclick|onload|
 onerror|onCokoliChces]=[\"\\\"](.*)[\"\\\"]
 )(.*)[^>]*>#Usi", "je tu", $matches)) {
 var_dump ($matches);
 } else {
 echo "nic takeho tutaj neni...";
 }
 
 jenze to taky nefunguje, nevis proc?
 
 a prosimte, jak muzu zapsat to ze u neco="" nemusi byt uvozovky ale jen neco=.... diky
 (odpovědět)
 |  | | imhotep | 90.180.194.* | 10.10.2010 10:37 | 
 | 
 | 
 | 
| | |  |  | Nefunguje? Tak u me na PHP 5.2.1
 
 $data = "
 Ahoj, muj @ mail je mailik@seznam.cz, klidne mi napis.
 Taky staci <a href=\"mailto:@druhy@email.com\" onclick=\"alert(1);\">KLIKNOUT</a>
 nebo napsat na mail spam@google.com, ten ale nectu :)
 
 <a href=\"[link]" onclick=\"alert(3);\">KLIKNOUT</a>
 <a href=\"mailto:@druhy@email.com\" onload=\"alert(0);\">KLIKNOUT</a>
 ";
 
 $regexp = "[onclick|onload|onerror|onCokoliChces]=[\"
 \'](.*)[\"\']";
 
 if(preg_match_all("/$regexp/siU", $data, $matches)) {
 var_dump ($matches[1]);
 } else {
 echo "nic takeho tutaj neni...";
 }
 
 
 Vysledek je:
 
 array(3) {
 [0]=>
 string(9) "alert(1);"
 [1]=>
 string(9) "alert(3);"
 [2]=>
 string(9) "alert(0);"
 }
 
 
 
 takze to funguje :)  Na hostingu (PHP 5.3.3) to bezi taky..
 
 A jinak - proc na zacatku neco strkas do $matches? $matches ti naplni funkce preg_math_all vysledkama. Do toho nemas nic strkat..
 (odpovědět)
 |  | | PcDr. Marty | 89.102.248.* | 10.10.2010 10:59 | 
 | 
 | 
 | 
| | |  |  | tak v tom byl ten problem - matches. 
 a prosimte nevis jak udelat ze tam m ta uvozovka muze byt i nemusi?
 [\"?] ?
 (odpovědět)
 |  | | imhothep :-) | 90.180.194.* | 10.10.2010 11:39 | 
 | 
 | 
 | 
| | |  |  | ten otaznik (asi) jen za ] - ten prvni ne. Ale zase na konci to musis necim nahradit (mezera, >, <, ...) nebo proste necim to musi koncit. Ted se mi s tim nechce srat, jdu se opit :)
 Pokud budu vecer schopny chodit, tak se sem jeste stavim :)
 (odpovědět)
 |  | | PcDr. Marty | 89.102.248.* | 10.10.2010 12:45 | 
 | 
 | 
 | 
| | |  |  | :-D ve 12 hodin rano jdes chlastat? :-D pekny pekny :-D. (odpovědět)
 |  | | imhotep | 90.180.194.* | 10.10.2010 22:36 | 
 | 
 | 
 | 
| | |  |  | Jen pro doplnění: Filtr, kterej vytváříš by byl pěkně děravej. U událostí můžou být také apostrofy (ne pouze uvozovky nebo nic), U přímého odkazu javascript: zase nemusí jít vždy jen o JavaScript. Existují i jiné podporované skriptovací jazyky, například VBscript: Nemluvě o tom, že IE6 si tyto výrazy poněkud domýšlí a tak mu stačí třeba jen script:, xxscript:, javaxxxxx:, nebo vbscrxxx: Dále tu jsou možnosti v podobě self-contained DATA: Prostě bych se být tebou vydal cestou whitelistu a ne blacklistu. Nikdy totiž neošetříš všechny možné případy. (odpovědět)
 |  | | .cCuMiNn, | 78.80.204.* | 11.10.2010 13:16 | 
 | 
 | 
 | 
| | |  |  | ajajajaj, jsem se chtel vyhnout predelavani vsech tagu ktere nabizi muj freewysiwyg editor do regularnich vyrazu a misto toho jsem si jak se lidove riká, nasral do bot :-(. 
 díky barde, rad te tu zase vidim, po tak dlouhe dobe :-).
 (odpovědět)
 |  | | imhothep | 90.180.194.* | 12.10.2010 13:42 | 
 | 
 | 
 | 
| | |  |  | qteck si zacal rikat imhotep protoze se stydi za svou minulost? (odpovědět)
 |  | | nong | 193.200.150.* | 12.10.2010 19:09 | 
 | 
 | 
 | 
| | |  |  | Jen prostředek jak řící: ó vážení přicházím v míru :-). (odpovědět)
 |  | | qteck.... | 90.180.194.* | 15.10.2010 22:11 | 
 | 
 | 
 |