1
내 친구가 DOM을 사용하여 xss 공격을 막는 방법에 대한 코드를 게시했습니다.DOM을 제거하고 태그를 다시 제거하여 공격을 최적화하십시오.
이 코드에 대해 어떻게 생각하십니까? 최적화 할 수 있습니까?
<?php
function parseDoc(DOMDocument $codeHtml){
$forbiddenTag=array('script');
$forbiddenAttr=array('onmouseover','onmouseup','onclick');
foreach($forbiddenTag as $tag){
$liste=$codeHtml->getElementsByTagName($tag);
foreach($liste as $element){
$codeHtml->removeChild($element);
}
}
stripAttr($codeHtml,$forbiddenAttr);
}
function stripAttr(DOMNode $root, array $forbiddenAttr){
foreach($rootl->childNodes as $child){
foreach($forbiddenAttr as $attr){
if($child->hasAttribute($attr)) $child->removeAttribute($attr);
}.
if($child->hasChildNodes())strippAttr($child,$forbiddenAttr);
}
}
Dom_event()를 사용할 수 있습니까? – Zeroth
@ Zeroth 나는 그 이름으로 어떤 PHP 함수를 모른다. 그것에 대한 링크를 제공 할 수 있습니까? – phihag
죄송합니다. 여기 늦어서 잘 생각하지 못했습니다. http://en.wikipedia.org/wiki/DOM_Events – Zeroth