nginx 只让php入口文件访问,其他php文件禁止直接访问

网站经常被植入php文件后门,现在网站根目录下有两个入口文件分别是web/index.phpapp/index.php。黑客经常利用上传漏洞上传可执行文件,如何利用ngi... 网站经常被植入php文件后门,现在网站根目录下有两个入口文件 分别是web/index.php
app/index.php 。黑客经常利用上传漏洞上传可执行文件,如何利用nginx 只让 web/index.php 和 app/index.php 访问呢?其他的php文件一律不能访问?
展开
 我来答
miniappcy3tv95eaedrf
2019-09-24 · TA获得超过2363个赞
知道大有可为答主
回答量:1909
采纳率:92%
帮助的人:1122万
展开全部

你用的系统是微擎吗?

正常来说,除了这两个php文件,和回调用的接口外,其它php都是不能直接访问的,文件头有常量判断,未定义就退出了。

所以你的系统有上传漏洞,应该检查是哪里出了问题,并去修复一下。可以从以下几点着手:

  1. 上传权限仅提供给已登录会员,在上传接口中判断未登录状态的,直接返回错误信息

  2. 上传文件类型限制,如果需要的是图片,严格限制图片类型,并做图片规格检测(gd库就可以处理),不符合的不保存文件

  3. 文件名处理,不要使用客户端上传的文件名保存,而是根据规则 生成一个随机的名字保存

  4. 上传频率限制(根据会员限制),比如,一个小时内限制上传5张,一天限制100张,可以有效防止黑客利用上传接口填充垃圾文件到你的服务器

  5. 如果可行,对上传文件做一个临时机制,如上传的文件先放到临时文件夹,资料保存的时候,把文件处理一下,移动到正常的附件目录。这样就可以定期清理临时文件夹,防止上传后没使用的文件过多占用服务器空间。

    不过这个功能改起来会复杂一点,要处理所有使用到上传功能的接口。

以上几点处理好,被上传可执行文件的问题基本上可以杜绝了

而你的解决方案,是只治标不治本的方案

vnclight
2019-09-24 · TA获得超过952个赞
知道小有建树答主
回答量:1169
采纳率:67%
帮助的人:66万
展开全部
nginx调用PHP有sock方式和端口方式

1、确认nginx已经调用了php;
2、先确认你的nginx使用什么方式调用PHP;
3、如果使用端口方式,端口对不对应,如果使用SOCK方式,那么路径对不对;

上面只是大概,你有配置文件给,基本很快看出来,没有的话,实在不好判断
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
女朋友会隐身
2019-09-23 · 超过29用户采纳过TA的回答
知道答主
回答量:133
采纳率:50%
帮助的人:18.8万
展开全部
可以在nginx配置中直接写正则,判断如果不是这两个路径就return就完事了
追问
帮忙写一下好吗 重谢
追答
#匹配到访问路径
location ~* (!(web\/index\.php|app\/index\.php)) {
return 403;
}
好像就这个样子 不过你这俩个入口文件的访问权限应该不写在nginx里比较好吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
原来是咔咔吖
2019-09-24
知道答主
回答量:7
采纳率:0%
帮助的人:4701
展开全部
用rewrite正则处理一下下就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式