網頁

2015年7月3日 星期五

稍微強化script_tags防止XSS攻擊

用strip_tags用這麼久才知道,原來它沒法完全去除,雖然還是有些東西可以拿掉,如:onmuouse="alert('text')這類,但script tag拿不掉,很容易就中XSS攻擊,參考了下wordpress中的wp_strip_all_tags的寫法,基本上只是增加了pre_replace這行,至少將style或script的內容拿掉就能阻止大多數的XSS攻擊了。

function strip_all($string){
    $string = preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $string );
    $string = strip_tags($string);
    return $string;
}


參考網址:
Function Reference/wp strip all tags

沒有留言:

張貼留言