`

PHP简单利用 token 防止表单重复提交

php 
阅读更多
<?php
/*
* PHP简单利用token防止表单重复提交
* 此处理方法纯粹是为了给初学者参考
*/
session_start();
function set_token() {
	$_SESSION['token'] = md5(microtime(true));
}

function valid_token() {
	$return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;
	set_token();
	return $return;
}

//如果token为空则生成一个token
if(!isset($_SESSION['token']) || $_SESSION['token']=='') {
	set_token();
}

if(isset($_POST['test'])){
	if(!valid_token()){
		echo "token error";
	}else{
		echo '成功提交,Value:'.$_POST['test'];
	}
}
?>
<form method="post" action="">
	<input type="hidden" name="token" value="<?php echo $_SESSION['token']?>">
	<input type="text" name="test" value="Default">
	<input type="submit" value="提交" />
</form>

 

分享到:
评论

相关推荐

    thinkphp3.2 防止表单重复提交

    在Web开发中,防止表单重复提交是一个重要的问题,它能确保用户操作的唯一性和数据的一致性。ThinkPHP 3.2 是一个基于MVC模式的PHP开发框架,提供了丰富的功能来帮助开发者构建安全、高效的应用。在这个场景中,我们...

    PHP实现防止表单重复提交功能【基于token验证】

    以下是一个简单的PHP防止表单重复提交的实现,基于token验证的示例: 首先,我们需要创建一个`set_token()`函数,用于生成token。在这个例子中,使用`md5()`函数对当前时间戳进行加密,生成一个随机的32位字符串...

    PHP+Session防止表单重复提交的解决方法

    本文将详细讲解如何利用PHP和Session机制来防止表单重复提交。 首先,我们需要理解表单重复提交可能发生的场景:用户点击提交按钮后,由于网络延迟或其他原因,可能会无意中再次点击,导致同一份表单数据被多次提交...

    php通过记录IP来防止表单重复提交方法分析

    PHP作为常用的服务器端脚本语言,提供了多种防止表单重复提交的方法。本文将详细探讨通过记录IP地址来防止表单重复提交的策略,并与其他方法进行对比。 首先,通过记录IP地址来防止表单重复提交的基本思路是:当...

    php中如何防止表单的重复提交

    在PHP开发中,防止表单重复提交是一个常见的需求,尤其对于处理重要数据或者涉及财务交易的表单尤为重要。重复提交可能会导致数据不一致,影响系统的正常运行。以下是一些常用的防止表单重复提交的方法: 1. **利用...

    解决php表单重复提交实现方法

    总的来说,防止表单重复提交的策略是确保每次表单提交的唯一性,可以结合Session、IP地址记录以及token验证来实现这一目标。通过这种方式,可以有效地避免因为用户误操作导致的数据冗余问题,从而提高系统的稳定性和...

    PHP防止post重复提交数据的简单例子

    以下是一个简单的PHP防止POST重复提交的示例: 1. 首先,我们需要开启session。在PHP中,通过`session_start()`函数启动session。 ```php session_start(); ``` 2. 接下来,我们需要在表单提交时进行处理。如果...

    js防止表单重复提交实现代码

    在网页开发中,防止表单重复提交是一个重要的问题,它能确保用户的数据只被处理一次,避免因网络延迟或误操作导致的重复数据插入。本文将深入探讨如何使用JavaScript、HTTP头信息以及令牌机制来防止表单的重复提交。...

    PHP防止刷新重复提交页面的示例代码

    总的来说,PHP的Session机制为防止表单重复提交提供了一种简单而有效的解决方案,通过合理地管理Session变量,可以确保每个用户只能提交一次表单,从而维护数据的正确性。同时,结合其他安全措施,可以进一步提高Web...

    php页面防重复提交方法总结

    总的来说,防止PHP页面重复提交是一个涉及前端和后端协同处理的问题,需要合理利用JavaScript、session和服务器端验证等手段。正确实施这些策略,能够有效地避免用户误操作或恶意攻击导致的数据混乱。

    注册或者点击按钮时,怎么防止用户重复提交数据(实例讲解)

    在这种情况下,可以利用`GetPostBackEventReference`方法返回的字符串来插入到客户端事件处理程序中,达到防止重复提交的目的。示例代码如下: ```html ``` ```javascript Sub SubmitBtn(obj As Object, e As ...

    php token使用与验证示例【测试可用】 原创

    - 防止重复提交:通过检查Token的有效性,可以避免用户意外多次提交表单。 - API安全:在API请求中使用Token进行身份验证和授权。 总之,PHP中的Token验证是提高Web应用安全性的重要手段,合理地使用和验证Token...

    php防止伪造的数据从URL提交方法

    为了防止用户意外或恶意多次提交数据,可以使用 session 或 cookie 存储一个临时的“已提交”状态,一旦提交成功,就阻止后续的重复提交。另一种方法是在表单提交后重定向到一个新的页面,以中断可能的二次提交。 ...

    php防止伪造数据从地址栏URL提交的方法

    此外,对于重要的操作,如数据修改或删除,可以采用令牌(Token)机制,确保每个请求的唯一性,防止重复提交。 除此之外,还可以考虑以下防御措施: 1. 使用HTTPS加密传输,防止数据在传输过程中被窃取。 2. 对敏感...

    Laravel开发-cookie-csrf

    对于防止重复提交,可以在提交成功后清除或改变表单的提交标识,如设置一个session变量,或者在数据库中记录已提交的状态。 对于跨域问题,Laravel的`VerifyCsrfToken`中间件默认只允许同源请求,但可以通过修改...

    php实现的密码登录网站

    在登录场景中,它允许用户在提交表单后无需等待页面刷新,就能看到验证结果,提供更好的用户体验。 在"php实现的密码登录网站"项目中,核心流程如下: 1. **HTML表单**:登录页面通常包含一个HTML表单,包括用户名...

Global site tag (gtag.js) - Google Analytics