我希望能够生成这样的 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 记录集匹配,以便我可以将其拉出。在创建该记录集时,我希望为其创建此密钥。
我怎样才能做到这一点?做这个的最好方式是什么?有没有我可以使用的现有课程?
谢谢大家
您将在什么情况下使用它?为什么不只传递 post 变量?它更加安全和整洁。您仍将完成 url 中的数字,例如 id=195yq,并且有一种方法可以通过配置 php.ini 文件来隐藏它们。
我希望这对你有帮助。
请记住这一点。当您在地址栏中传递变量时,某人很容易更改变量,并访问您可能不希望他们访问的信息。
在您提供的示例中,您似乎正在对数字主键进行 base-64 编码。这就是我会这样做并且过去已经这样做的方式,但我不确定它是否比明文传递 ID 更好,因为 base-64 解码是微不足道的。
基本上,您需要某种散列函数。
这可以是 SHA-1 函数、MD5 函数(如 altCogito),或者使用记录中的其他数据并对其进行编码。
你认为你会有多少记录?选择解决方案时要小心,因为散列函数必须足够大才能很好地覆盖您,但如果太大,您会创建一个比您需要的更大的数据库。我使用了 SHA-1 并根据需要截断为 64 位或 32 位。
另外,看看 REST。考虑到 URL 可能不必如此神秘......