很多站长朋友们都不太清楚限制php被访问,今天小编就来给大家整理限制php被访问,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 nginx 只让php入口文件访问,其他php文件禁止直接访问 2、 对一个PHP网页,如何限制24小时内一个用户只能访问一次 3、 php怎样实现对用户访问的限制,比如说a是登录页,b是显示用户信息页,怎样让用户只有通过a才能访问b? 4、 如何防止网站php文件被查看 5、 如何限制php页面一个用户一天只能访问一次 nginx 只让php入口文件访问,其他php文件禁止直接访问你用的系统是微擎吗?
正常来说,除了这两个php文件,和回调用的接口外,其它php都是不能直接访问的,文件头有常量判断,未定义就退出了。
所以你的系统有上传漏洞,应该检查是哪里出了问题,并去修复一下。可以从以下几点着手:
上传权限仅提供给已登录会员,在上传接口中判断未登录状态的,直接返回错误信息
上传文件类型限制,如果需要的是图片,严格限制图片类型,并做图片规格检测(gd库就可以处理),不符合的不保存文件
文件名处理,不要使用客户端上传的文件名保存,而是根据规则 生成一个随机的名字保存
上传频率限制(根据会员限制),比如,一个小时内限制上传5张,一天限制100张,可以有效防止黑客利用上传接口填充垃圾文件到你的服务器
如果可行,对上传文件做一个临时机制,如上传的文件先放到临时文件夹,资料保存的时候,把文件处理一下,移动到正常的附件目录。这样就可以定期清理临时文件夹,防止上传后没使用的文件过多占用服务器空间。
不过这个功能改起来会复杂一点,要处理所有使用到上传功能的接口。
以上几点处理好,被上传可执行文件的问题基本上可以杜绝了
而你的解决方案,是只治标不治本的方案
对一个PHP网页,如何限制24小时内一个用户只能访问一次在数据库内建个表,表内字段为当前最近用户登录的时间戳,在php内判断,如果在用户在最近登录时间后的24小时之内登陆了就把程序die掉并提示无法登录、
$_SERVER['REMOTE_ADDR'];为当前用户的IP
$time为最近访问的时间戳
$t为这次访问的时间戳
$t=time();
if($t<$time+24*3600){
die("24小时之内只能访问一次");
}
用COOKIE也能实现,不过保险。用户清了COOIKE就没用了。
php怎样实现对用户访问的限制,比如说a是登录页,b是显示用户信息页,怎样让用户只有通过a才能访问b?在b页面里面,可以通过判断$_SERVER['HTTP_REFERER']的值来获取是否从a访问的,你可以写下面的代码:
echo $_SERVER['HTTP_REFERER'];
if ($_SERVER['HTTP_REFERER']!='正常访问一次上面显示的内容') exit;
如何防止网站php文件被查看两句话:
一、普通使用浏览器的用户是无法查看你的PHP源码的,在浏览器上查看到的是知识PHP执行后的结果。
二、如果可以从服务器上登录查看你的文件,那么几乎所有的加密都是欺骗幼儿园小朋友的,都可以改几个字符不动脑壳就显示加密前的信息。
所以,源码的安全,主要是文件系统权限的安全,这个时候就知道LINUX才算完整的操作系统。
如何限制php页面一个用户一天只能访问一次这个很简单:
如果有登录系统,必须登录才能访问,新增个登录表记录登录时间,查表判断就好,或者访问时记录uid+时间到redis里面
如果没有登录,就以IP为uid+时间记录到redis 每次进页面查下redis里面是否存在该用户访问记录就可以了
这样的要代码,那就不好提供了,都是很基础的。。建议加强基础
关于限制php被访问的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于限制php被访问 phpstudy403禁止访问的详细内容...