扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
?php
我们提供的服务有:网站设计制作、网站设计、微信公众号开发、网站优化、网站认证、安庆ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的安庆网站制作公司
/*
* 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
如果不是特别要求,直接接收id的值,再检查当前用户有没权限删除,就可以了。
如果真的要验证码的话,我用这种思路
认证码式 = md5(编号+时间+固定字符)
del.php?id=编号check_code=认证码
del.php页面先比较一个传递过来的认证码是否正确
思路差不多这样,当然这个还不够严密,并存在一定问题,还可以改进
1.请求头里带用户username和password,到服务器端做验证,通过才继续下边业务逻辑。
优点:防止了服务器端api被随意调用。
缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。
2.第一次请求,要求username和password,验证通过,种cookie到客户端,app保存cookie值。
每次请求带上cookie。
点评:和pc上浏览器认证的原理一样了。
以上两点,只有注册用户,才能有权访问业务逻辑,而app有大量的不需要注册数据api。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流