数码资讯
在PHP环境下使用会话防止页面重复刷新的具体实现
对b.php代码 复制代码代码如下所示: < PHP 只能通过邮件访问 如果($ _server { 'request_method} = ' ') {header ('HTTP/1.1 404 Not Found'); die (' Pro, page does not exist ');} se
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
对b.php代码
复制代码代码如下所示:
< PHP
只能通过邮件访问
如果($ _server { 'request_method} = ' ')
{header ('HTTP/1.1 404 Not Found'); die (' Pro, page does not exist ');}
session_start();
美元美元_post FS1 = {'a' };
美元美元的B _post FS2 = { };
以秒为单位的防刷新时间
allowtime = 30美元;
访问者访问IP刷新限制
获取真正的IP
如果(!function_exists('getip '))
{
GetIP()函数
{
静态$ = null;
如果(IP)!= null)
{
返回ip;
}
如果(isset($ _server))
{
如果(isset($ _server { 'http_x_forwarded_for ' }))
{
$ ARR =爆炸(',',_server美元{ 'http_x_forwarded_for});
在X / *非未知字符X-Forwarded-For有效IP
foreach($ ARR为XIP)
{
$ XIP =装饰($ XIP);
如果($ XIP!= 'unknown)
{
为IP = $ XIP;
打破;
}
}
}
elseif(isset($ _server { 'http_client_ip ' }))
{
IP = _server美元美元'http_client_ip'} {;
}
其他的
{
如果(isset($ _server { 'remote_addr ' }))
{
IP = _server美元美元'remote_addr'} {;
}
其他的
{
IP = '0.0.0.0美元;
}
}
}
其他的
{
如果(getenv('http_x_forwarded_for '))
{
为IP = getenv('http_x_forwarded_for);
}
elseif(getenv('http_client_ip '))
{
为IP = getenv('http_client_ip);
}
其他的
{
为IP = getenv('remote_addr);
}
}
preg_match( / { D 。} { 7、15 } /
$ =!空(美元onlineip { 0 })$ onlineip { 0 }:'0.0.0.0;
返回ip;
}
}
获取真正的IP结束文件
该公司getip美元=();
MD5加密参数
allowt = MD5(美元美元美元美元者,FS1,FS2);
如果(!isset($ _session { $ allowt })){
_session美元{ $ allowt } =时间();
}
如果(时间()至_session { $ allowt } --> $ allowtime){
_session美元{ $ allowt } =时间();
}
如果刷新或太快,都404header头尖
别的{头('http / 1.1 404未发现');模具(从美元的IP。亲,你刷新快)};}
>
代码非常简单。它是所有关于提交IP和后通过MD5的方式需要更新数据,然后写入会议后的MD5加密,然后判断刷新间隔存储会议,以决定是否允许刷新。需要说明的是,这两个参数,1美元= $ _post {'a' };为什么这些参数加上IP是区分不同岗位的结果。(事实上,所谓的防刷新是防止网页被多次提交。)
更具体地说,例如,上面的代码放在网页的b.php开始,我们有以下的a.html页面形式:
复制代码代码如下所示:
b.html
提交
你可以看到,A和B的页面提交在前面b.php 2参数的2个参数,这应该是事实上的提交页面,参数决定。在PHP代码前,已提交的数据页的确定只能通过后访问,所以直接输入地址将得到一个404错误页面,只能通过邮寄来的页面的同时,后将有自己的地址刷新参数,从而实现同一页面的每个IP防止刷新效果。
此外,我们可以在后的页面增加了参考确定源站点,防止跨站点提交,但参考可以伪造,火狐和IE8经常出现莫名其妙的Referer的损失,所以我也就不加此代码。
复制代码代码如下所示:
< PHP
只能通过邮件访问
如果($ _server { 'request_method} = ' ')
{header ('HTTP/1.1 404 Not Found'); die (' Pro, page does not exist ');}
session_start();
美元美元_post FS1 = {'a' };
美元美元的B _post FS2 = { };
以秒为单位的防刷新时间
allowtime = 30美元;
访问者访问IP刷新限制
获取真正的IP
如果(!function_exists('getip '))
{
GetIP()函数
{
静态$ = null;
如果(IP)!= null)
{
返回ip;
}
如果(isset($ _server))
{
如果(isset($ _server { 'http_x_forwarded_for ' }))
{
$ ARR =爆炸(',',_server美元{ 'http_x_forwarded_for});
在X / *非未知字符X-Forwarded-For有效IP
foreach($ ARR为XIP)
{
$ XIP =装饰($ XIP);
如果($ XIP!= 'unknown)
{
为IP = $ XIP;
打破;
}
}
}
elseif(isset($ _server { 'http_client_ip ' }))
{
IP = _server美元美元'http_client_ip'} {;
}
其他的
{
如果(isset($ _server { 'remote_addr ' }))
{
IP = _server美元美元'remote_addr'} {;
}
其他的
{
IP = '0.0.0.0美元;
}
}
}
其他的
{
如果(getenv('http_x_forwarded_for '))
{
为IP = getenv('http_x_forwarded_for);
}
elseif(getenv('http_client_ip '))
{
为IP = getenv('http_client_ip);
}
其他的
{
为IP = getenv('remote_addr);
}
}
preg_match( / { D 。} { 7、15 } /
$ =!空(美元onlineip { 0 })$ onlineip { 0 }:'0.0.0.0;
返回ip;
}
}
获取真正的IP结束文件
该公司getip美元=();
MD5加密参数
allowt = MD5(美元美元美元美元者,FS1,FS2);
如果(!isset($ _session { $ allowt })){
_session美元{ $ allowt } =时间();
}
如果(时间()至_session { $ allowt } --> $ allowtime){
_session美元{ $ allowt } =时间();
}
如果刷新或太快,都404header头尖
别的{头('http / 1.1 404未发现');模具(从美元的IP。亲,你刷新快)};}
>
代码非常简单。它是所有关于提交IP和后通过MD5的方式需要更新数据,然后写入会议后的MD5加密,然后判断刷新间隔存储会议,以决定是否允许刷新。需要说明的是,这两个参数,1美元= $ _post {'a' };为什么这些参数加上IP是区分不同岗位的结果。(事实上,所谓的防刷新是防止网页被多次提交。)
更具体地说,例如,上面的代码放在网页的b.php开始,我们有以下的a.html页面形式:
复制代码代码如下所示:
b.html
提交
你可以看到,A和B的页面提交在前面b.php 2参数的2个参数,这应该是事实上的提交页面,参数决定。在PHP代码前,已提交的数据页的确定只能通过后访问,所以直接输入地址将得到一个404错误页面,只能通过邮寄来的页面的同时,后将有自己的地址刷新参数,从而实现同一页面的每个IP防止刷新效果。
此外,我们可以在后的页面增加了参考确定源站点,防止跨站点提交,但参考可以伪造,火狐和IE8经常出现莫名其妙的Referer的损失,所以我也就不加此代码。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。