从CakePHP URL中删除ID?

时间:2011-01-09 07:59:21

标签: php cakephp

嘿伙计们!在一个新的Cake应用程序上工作,并想知道我是否还有从Cake中删除ID-in-URL路由。也许是以某种方式在POST中传递ID?将ID作为URL参数传入,看起来真的很糟糕且不安全。谢谢!

3 个答案:

答案 0 :(得分:2)

“劣质”?这是标准做法,也是在URL中使用ID的完美解决方案。查看问题的网址:

http://stackoverflow.com/questions/4638262/removing-id-from-cakephp-url
                                   ^^^^^^^
                                      id

此外,在URL中显示id绝对没有任何不安全感。这只是一个没有任何意义的数字。如果用户只有知道此ID才能做“坏”的事情,那么您的应用就会破坏且不安全,而不是ID传递机制。

尝试解决此方案意味着要解决HTML协议的基本原则,并开辟一整套新的蠕虫。

答案 1 :(得分:1)

有些人更喜欢使用 slugs 而不是主键ID。这是此页面中网址的removing-id-from-cakephp-url部分。看看SluggableBehavior

然而,slugs 可以改变。因此,如果您想要永久链接,那么在URL中使用主键很有用。 StackOverflow同时执行这两项操作,以便它可以支持来自其他站点的永久链接,以及SEO原因。 :)

关于安全问题,我想其他答案已经指出,还有其他方法可以确保您的应用程序安全。

答案 2 :(得分:0)

为什么要关心? URL-s针对SEO原因进行了优化,如果ID不长,则ID无关紧要。如果是后者,考虑使用较短的一个,而不是数字和字母,那么就像一个只有数字的长一个一样难以猜测。

如果您没有使用GET并且未在网址中提供参数,则您的用户将无法复制粘贴该位置。