PHP实例-避免重复提交和检查数据来路

PHP实例-避免重复提交和检查数据来路

ID:46285073

大小:86.50 KB

页数:5页

时间:2019-11-22

PHP实例-避免重复提交和检查数据来路_第1页
PHP实例-避免重复提交和检查数据来路_第2页
PHP实例-避免重复提交和检查数据来路_第3页
PHP实例-避免重复提交和检查数据来路_第4页
PHP实例-避免重复提交和检查数据来路_第5页
资源描述:

《PHP实例-避免重复提交和检查数据来路》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、PHP实例:避免重复提交和检查数据来路PHPToken(令牌)设计设计目标:避免重复提交数据.检查来路,是否是外部提交匹配要执行的动作(如果有多个逻辑在同一个页血实现,比如新增,删除,修改放到一个PHP文件里操作)这里所说的token是在页而显示的时候,写到FORM的一个隐藏表单项(type=hidden).token不可明文,如果是明文,那就太危险了,所以要采用一定的加密方式.密文要可逆.俺算法很白痴,所以釆用了网上一个现成的方法.如何达到冃的:怎样避免重复提交?在SESSION里要存一个数组,这个数组存放以经成功捉交的token.在后台处理吋,先判断这个token是否在这

2、个数组里,如果存在,说明是重复提交.如何检查来路?可选项,这个token在生成的时候,加入了当前的session」d・如果别人copy你的htmlftoken—迸copy),在提交时,理论上token里包含的session_id不等丁•当前session_id,就可以判断这次提交是外部捉交.如何匹配要执行的动作?在token的时候,要把这个token的动作名称写进这个token里,这样,在处理的时候,把这个动作解出來进行比较就行了.我以前写的GToken不能达到上面所说的第二条,88娱乐城jy9.org今天修改了一下,把功能2加上了.个人感觉还行.请大家看代码,感觉哪里冇不合

3、理的地方,还请蜴教!谢谢.加密我是找的网上的一个方法,稍作了一下修改.GEncrypt.inc.php:

4、ctr,l);$ctr++;}return$tmp;}publicstaticfunctionencrypt($txt,$key){//$encrypt_key=md5(rand(0,32000));$encrypt_key=md5(((float)date("YmdHis")+rand(10000000000000000,99999999999999999)).rand(100000,999999));$ctr=O;$tmp=,,H;for($i=O;$i

5、.=substr($encrypt_key,$ctr,l).(substr($txtz$i,l)Asubstr($encrypt_key,$ctr,l));$ctr++;}returnbase64_encode(self::keyED($tmp,$key));}publicstaticfunctiondecrypt($txtz$key){$txt=self::keyED(base64_decode($txt),$key);$tmp=,,H;for($i=O;$i

6、str($txt,$i,l)A$md5);}return$tmp;}}?>GToken.inc.php方法:a,granteToken参数:formName,即动作名称,key是加密/解密密钥.返冋一个字符串,形式是:加密(formName:session_id)b,isToken参数:token即granteToken产牛的结果,formName,动作名称,fromCheck是否检查來路,如果为真,博彩评级官网008km.org还要判断token里的sessionjd是否和当前的sessio—至.c,dropToken,当成功执行一个动作后,调用这个函数,把这个token记

7、入session里,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。