如果IN没有定义,则退出执行,并输出Access Denied作用是当IN没有定义时,不执行后面的程序。这样就会输出ok
define('IN', 123);
defined ( 'IN' ) or die ( 'Access Denied' );
echo 'ok';
如果define('IN', 123);这句不存在,就输出AccessDenied

解决方案 »

  1.   

    这样做目的是控制入口,你的程序应该是只能用index.php?controller=xxx&action=xxx 形式访问的吧。
    如果用户直接访问 controller.php 要被禁止。所以加了这段判断。例如你的目录结构
    app/controller/c.php
    index.phpdefine('IN','xxx'); 这句在index.php定义
    如果用户直接访问 index.php?controller=c 会执行 app/controller/c.php 因为IN有定义了,所以可以执行。
    但用户直接访问app/controller/c.php 因为IN没有定义,所以不能执行。
      

  2.   

    凡是有这句的程序文件,都不能直接访问到
    而只能在 index.php 中包含