如何对传递的id加密解密?
a.php?id=1234如何对id值加密解密比较好?防止人们直接通过输入id值提取数据
加密时id乘以某个数字,取出时再除以这个数字方法感觉不可靠。 浏览器应用的话, POST提交, HTTPS加密. URL传递Hash,服务器端创建hash和id的mapping 3楼正解,对URL进行对称加密解密。具体算法,楼主可以参考一下discuz邮件验证那一个模块. 你可以多加一个参数做校验
你给id添加一个salt假设 salt为abc
你先计算md5("1234"."abc")得出一串字符串"sdsldfsldflslfs2221"
这时url就变为:
a.php?id=1234&code=sdsldfsldflslfs2221
你接收到请求后,再计算一次md5($_GET['id']."abc")看看接收到的code是否和"sdsldfsldflslfs2221"一致
这样就可以避免别人通过修改id进行访问
若是闲字符串太长,可以只取前4个作为校验即可
回复 5# yifangyou
太棒了!这个方法很好!谢谢!
:lol:lol:lol:lolhash。。。令牌 回复 6# hq22
但是这个方法太笨重了,而且url太长了,不是吗? 回复 8# ethantsien
可靠的方法里,这个最轻量了。
安全性要求较低可以直接使用base64_encode
页:
[1]
2