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程序设计有所帮助。