hq22 发表于 2012-10-28 13:39

如何对传递的id加密解密?

a.php?id=1234
如何对id值加密解密比较好?防止人们直接通过输入id值提取数据
加密时id乘以某个数字,取出时再除以这个数字方法感觉不可靠。

linux_c_py_php 发表于 2012-10-28 22:17

浏览器应用的话, POST提交, HTTPS加密.

imbiss 发表于 2012-10-29 18:17

URL传递Hash,服务器端创建hash和id的mapping

satrun7 发表于 2012-10-30 12:54

3楼正解,对URL进行对称加密解密。具体算法,楼主可以参考一下discuz邮件验证那一个模块.

yifangyou 发表于 2012-11-03 23:07

你可以多加一个参数做校验
你给id添加一个salt假设 salt为abc
你先计算md5("1234"."abc")得出一串字符串"sdsldfsldflslfs2221"
这时url就变为:
a.php?id=1234&code=sdsldfsldflslfs2221
你接收到请求后,再计算一次md5($_GET['id']."abc")看看接收到的code是否和"sdsldfsldflslfs2221"一致
这样就可以避免别人通过修改id进行访问

若是闲字符串太长,可以只取前4个作为校验即可

hq22 发表于 2012-11-04 07:53

回复 5# yifangyou
太棒了!这个方法很好!谢谢!


   

sickcat2004 发表于 2012-11-05 09:48

:lol:lol:lol:lolhash。。。令牌

ethantsien 发表于 2013-11-05 11:59

回复 6# hq22


   但是这个方法太笨重了,而且url太长了,不是吗?

syre 发表于 2013-11-14 14:07

回复 8# ethantsien
可靠的方法里,这个最轻量了。

   

liuxingyuyuni 发表于 2013-12-05 14:45

安全性要求较低可以直接使用base64_encode
页: [1] 2
查看完整版本: 如何对传递的id加密解密?