对不起,我发上去的& g t 和& l t被换成了<>, < B R > 被换成回车了
应该是:
$value =~ s/>/& g t ;/g;
$value =~ s/</& l t ;/g;
$value=~s/ / n /< B R >/g;
$value =~ s/ < ! - - ( . | / n ) * - - >//g;
$value =~ s/__/--/g;
翻译过来就是:
1、用& g t 代替字符串中的>号,
2、用& l t代替字符串中的<号,
(以上两种替换不会影响<>号的显示,只是告诉浏览器不必进行解释,
这样在浏览器中仍会自动识别并还原成<>号显示)
3、用代替/ n,HTML格式中就是回车.
4、删除字符串中所有以< ! - - . 或< ! - - / n开头,- - >结尾的字符串。
这中间的内容可能是改变显示风格或插入SCRIP子程序!
恶意的程序可能带来危险,所以必须去除!
5、用--代替__ 在UNIX或LINUX中__有特殊含义,为保证安全,最好换掉.
具体程序应该不用多说了.
(为了正确显示,有些中间夹了空格)