不能一一说明,挑一句来说明吧:
eregi("<[^>]*script*\"?[^>]*>", $secvalue);
指的是:
匹配以<开头,其后为非>和script及含有>的字串,实际上就是指<script ZZZ>这样的字串是匹配的,而这将被屏蔽,然后die
eregi("<[^>]*script*\"?[^>]*>", $secvalue);
指的是:
匹配以<开头,其后为非>和script及含有>的字串,实际上就是指<script ZZZ>这样的字串是匹配的,而这将被屏蔽,然后die
我试了试
http://192.168.28.22/phpnuke/html/?get1=<script>
出现了I don't like you...
这个是符合条件的内容,当然是出现了I don't like you...了
eregi("<[^>]*script*\"?[^>]*>", $secvalue);
这个解释我觉得楼上的有错。
不应该是以<开头的东西,而是任何类似于<script abc>不管它的位置在最前面,还是最后面都可以通过。
其中[^>]是指非>
*表示0个或多个前面的内容
?表示0个或1个前面的内容,或者前面的内容是可选的
2、代码的意思是说当url参数中出现诸如
<script>、<object>、<iframe>、<applet>、<meta>、<style>、<form>、<img>HTML标记
和()、"时中断程序执行并显示 I don't like you...太可恶了!就不能换个方式进行保护吗?