thinkphp 怎么防止通过url直接写入路径
现在很多的权限系统是基于URL路由来控制的(模块 / 动作)比如ThinkPHP,访问路径是http://localhost/thinkphp/index.php/index/index 但是根据文件路径也能访问到如http://localhost/thinkphp/Tpl/Index/index.html,就直接显示了index.html的源码!如何禁止访问呢?或者其他的保护措施?
使用过ThinkPHP的都知道,一个APP的模版文件夹是叫Tpl,正常情况下直接通过路径就可以访问到该文件夹;比如常见的 APP/Tpl/Index/index.html ,通过 http://domain/App/Tpl/Index/index.html 就可以直接打开首页模版文件了。 像这种要防止用户直接访问到模板或者重要的文件的行为,方法有几种:
修改默认的文件名,此方法可以临时解决此问题,但不是长久之计。
使用.htaccess 配置,在需要拒绝用户访问的目录下放置 .htaccess 内容为 deny from all 就可以拒绝所有用户访问该文件夹,如果拒绝某个IP段访问使用
order deny,allow
deny from all
allow from 192.168.1.0/24
拒绝某个IP可使用
order allow,deny
deny from 192.168.1.10
allow from all