不能一一说明,挑一句来说明吧:
eregi("<[^>]*script*\"?[^>]*>", $secvalue);
指的是:
匹配以<开头,其后为非>和script及含有>的字串,实际上就是指<script ZZZ>这样的字串是匹配的,而这将被屏蔽,然后die

解决方案 »

  1.   

    为什么这样做??是为了安全吗?
    我试了试
    http://192.168.28.22/phpnuke/html/?get1=<script>
    出现了I don't like you...
      

  2.   

    可以这样说,防止黑客javascript脚本语言的功能也是十分强大的。
      

  3.   

    http://192.168.28.22/phpnuke/html/?get1=<script>
    这个是符合条件的内容,当然是出现了I don't like you...了
    eregi("<[^>]*script*\"?[^>]*>", $secvalue);
    这个解释我觉得楼上的有错。
    不应该是以<开头的东西,而是任何类似于<script abc>不管它的位置在最前面,还是最后面都可以通过。
    其中[^>]是指非>
    *表示0个或多个前面的内容
    ?表示0个或1个前面的内容,或者前面的内容是可选的
      

  4.   

    1、这是一段很奇怪且很不近人情的代码,居然连“"”都不允许在参数串中出现
    2、代码的意思是说当url参数中出现诸如
    <script>、<object>、<iframe>、<applet>、<meta>、<style>、<form>、<img>HTML标记
    和()、"时中断程序执行并显示 I don't like you...太可恶了!就不能换个方式进行保护吗?
      

  5.   

    代码试从phpnuke中的mainfile.php中抄来的。是有些不近人情 ^_^还是对数据限制多的好。这就是为什么c++中有const关键字