A. nginx 只让php入口文件访问,其他php文件禁止直接访问
你用的系统是微擎吗?
正常来说,除了这两个php文件,和回调用的接口外,其它php都是不能直接访问的,文件头有常量判断,未定义就退出了。
所以你的系统有上传漏洞,应该检查是哪里出了问题,并去修复一下。可以从以下几点着手:
上传权限仅提供给已登录会员,在上传接口中判断未登录状态的,直接返回错误信息
上传文件类型限制,如果需要的是图片,严格限制图片类型,并做图片规格检测(gd库就可以处理),不符合的不保存文件
文件名处理,不要使用客户端上传的文件名保存,而是根据规则 生成一个随机的名字保存
上传频率限制(根据会员限制),比如,一个小时内限制上传5张,一天限制100张,可以有效防止黑客利用上传接口填充垃圾文件到你的服务器
如果可行,对上传文件做一个临时机制,如上传的文件先放到临时文件夹,资料保存的时候,把文件处理一下,移动到正常的附件目录。这样就可以定期清理临时文件夹,防止上传后没使用的文件过多占用服务器空间。
不过这个功能改起来会复杂一点,要处理所有使用到上传功能的接口。
以上几点处理好,被上传可执行文件的问题基本上可以杜绝了
而你的解决方案,是只治标不治本的方案