| 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 |
|
|
|