Maison  >  Article  >  php教程  >  公共模块禁止直接访问

公共模块禁止直接访问

WBOY
WBOYoriginal
2016-06-07 11:45:111474parcourir

项目中经常会将一些公共的方法或变量放在一个模块中,称之为公共模块。
公共模块直接继承Action类,其他模块都继承公共模块。
那么如何防止公共模块直接被外部访问呢?
例如,定义了一个公共模块 CommonActionclass CommonAction extends Action {<br> public $uid;<br> ……<br> }其他模块:class UserAction extends CommonAction {<br> function index(){<br> echo $this->uid; //这里就可以直接使用公共类的变量<br> }<br> ……<br> }但是如果我们在CommonAction 中定义了一个操作时,如果不做处理,访客可以直接通过 /index.php/Common/操作名
而一般公共模块是不想让访客直接访问的。
这时,只要做一个简单的处理就可以。

1.在UserAction.class.php 文件中:<?php <br /> define("INC",1);//定义INC常量<br> class UserAction extends CommonAction {<br> ……<br> }<br> ?>2.在CommonAction.class.php中:<?php <br /> //判断是否有定义INC,没有则直接退出<br> if(!defined("INC")){<br>     exit('Access Denied');<br> }<br> class CommonAction extends Action {<br> ……<br> }<br> ?>

AD:真正免费,域名+虚机+企业邮箱=0元

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:ThinkPHP3.1.X RBAC演示系统Article suivant:php计算title标题相似比