我希望能够产生这样的URL变量:
http://example.com/195yq
http://example.com/195yp
http://example.com/195yg
http://example.com/195yf
变量将匹配一个MySQL记录集,这样我可以拉出来。 在创造,记录集的时候,我想创建此密钥。
我怎样才能做到这一点? 做这个的最好方式是什么? 是否有任何现有的课程,我可以利用?
感谢所有
我希望能够产生这样的URL变量:
http://example.com/195yq
http://example.com/195yp
http://example.com/195yg
http://example.com/195yf
变量将匹配一个MySQL记录集,这样我可以拉出来。 在创造,记录集的时候,我想创建此密钥。
我怎样才能做到这一点? 做这个的最好方式是什么? 是否有任何现有的课程,我可以利用?
感谢所有
基本上,你需要某种形式的散列函数。
这可以是SHA-1函数中,函数MD5(如altCogito),或使用其他的数据必须在记录和编码它。
多少记录,你认为你会? 要小心在选择解决方案作为哈希函数必须足够大,以覆盖你很好,但是太大了,你创造出比你需要更大的数据库。 我用SHA-1和截断到64或32位,这取决于需要。
另外,看看REST。 考虑到该URL可以不必这么神秘?
这可以通过两种方式来完成非常简单:
如果你询问是否有任何事情已经这样做与MySQL的记录,我不相信你会找到的东西作为设计的角度来看,数据是真的,真的概念远离你的网站的网址,即使是在像Grails的框架。 大多数甚至不试图前端和数据访问功能包装成单件。
在什么情况下你会在使用这个? 为什么不只是通过后的变量? 这是更为安全和整洁。 你仍然完成的URL数量如ID = 195yq,并且有一种方法通过配置php.ini文件隐藏起来。
我希望这可以帮助你。
请记住这一点。 当你在地址栏传递变量很容易让一个人改变变量和访问信息,你可能不希望他们访问。
在你给的例子,它看起来像你的基础-64编码的数字主键。 这是我会怎么做,并已在过去做到了,但我不知道它的任何较明显的传递ID,因为基地-64解码是微不足道的更好。