我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

很多时候我们写完代码只关心功能的问题,却忽略一些细节的小问题,今天我给大家分享一个禁止用户直接访问模板的问题

一般普通用户是不会做这种事情的,但万一别个也是做程序的人,就有可能知道你模板路径的情况下直接访问你的模板,例如:后台的这样一个模块

01.jpg

别人就可以通过http://你的域名/theme/backend/menu/index.html 而查看你的模板文件,不须要任何验证,然后像查看普通html源码那样查看到你的模板文件代码

02.jpg

不管是什么框架,都有可以存在这样的问题,那么通过哪些方法可以避免这些问题呢,下面给大家分享几点办法,部分内容来自互联网收集

1、在文件夹下面用.htaccess文件(apache)配置限定

<FilesMatch ".(html|php|exe)$">
order allow,deny
deny from all
</FilesMatch>

就上面的这种情况就在theme下面创建.htaccess文件加入上面的内容即可

当然你可以在具体的html模板所在访目录,例如\theme\backend\menu\里面添加.htaccess文件加入上面的代码,但这样写要在每一个模板里面加,显示有得麻烦,所以我就直接在最上层模板目录里面统一加了,上面的的意思表示禁止访问以html、php、exe结尾的文件,当然你不能禁止所有,因为图片跟css是须要能访问的

2、配置.htaccess文件

还可以通过另外的一种配置方式RewriteRule来达到目的

注意:此时的.htaccess文件是在根目录里面配置,配置内容例如:

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule theme/(.*).(html)$ – [F]
</IfModule<

关键代码RewriteRule theme/(.*).(html)$ – [F],表示禁止访问theme下面的所有.html文件

3、调整目录位置

把模板或不能让用户直接访问的文件放到WEB目录外面

你们下载的thinkphp5.x版本可以看到,里面有一个public文件夹,默认入口文件就是放到这个文件夹(index.php)里面,因此很多用户习惯配置文件根目录在上级目录,这种情况你访问网站就是这样访问的:http://你的域名/public/index.php,这路径明显多了一个public,你看着肯定很不舒服吧,因此正确的配置网站根目录应该指定到public文件夹

03.jpg

这样你就可以直接通过你的域名直接访问了http://你的域名/index.php


我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为2000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、网站优化、网络推广、竞价账户托管、信息流平台运营、短视频剪辑、自媒体运营等方面的需求...
请立即点击咨询我们或拨打咨询热线: 18031152740,我们会详细为你一一解答你心中的疑难。业务经理在线

我们已经准备好了,你呢?3

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

咨询热线

18031152740

上班时间

周一到周五

售后热线

18031152740

扫码微信咨询
线