PHP方法,防止远程从站点外部提交表单。
本文的实例说明了PHP防止站外表单远程提交的方法,并供大家参考,具体实现方法如下:一般来说,防止站长提交表单是在任何时候打开表单或提交数据。它需要添加一个令牌来验证。这一事实与验证码没有很大区别。这里有两个防止站外远程提交表单的示例。
示例1:每次打开提交页面时,我们生成一个令牌并将其保存在会话中。提交表单时,我们将确定当前令牌值是否与会话一致。如果是,通常提交。否则,它是无效的。
具体代码如下:
复制代码代码如下:< PHP
session_start();
如果($ _post { } = =去他们服从真主){
检查令牌
如果($ _post { 'token} = = $ _session { 'token ' }){
/ / strip_tags
$name = strip_tags($ _post { 'name' });
$name = substr($name,0,40);
清除所有可能的十六进制字符
$name = cleanhex($name);
继续处理…
其他{ }
停止所有处理!远程表单张贴尝试!
}
}
$令牌= MD5(uniqid(RAND(),真的));
_session美元{ 'token} = $标记;
功能cleanhex($输入){
清洁= preg_replace(!{ } { } XX({ } { } a-fa-f0-9 1,3)!
返回干净;
}
>
方法
名称
另一个更明显的方法是使用验证代码,这与其他方式相同。下面是一个简单的例子。
例二:增加验证码
当表单提交时,添加验证码,可以有效防止灌水机提交数据,但随着图像识别程序功能的增强,验证码识别不断提高其难度。有些验证码甚至增加了语音识别。有些小车站可以采用这种方式。
复制代码如下:如果($ _post { 'vcode}!= get_vcode())
{
退出('verification代码验证失败,无法存储);
}
感兴趣的读者的具体例子可以在线验证的许多例子。
希望本文能对大家的PHP程序设计有所帮助。