他们在URL中使用类名和/或参数时是否存在任何安全问题?URL类别/方法路由的安全
我创建了一个简单的PHP页面路由器的路由路径,例如:
www.mysite.com/classname/methodname/param1/param2/etc/etc
是否有泄露我的类和方法的名称的任何危险?还是应该在类方法中有足够的过滤来使其不成问题?
此外,我的AJAX调用将以相同的方式路由。为了确保合法的AJAX调用,我可以以何种方式生成每次调用时都会更改的会话标记。例如,在由AJAX访问的PHP脚本中生成一个随机数,该脚本也由该调用发送。如果它们匹配,那么它的授权请求。唯一的问题是我如何让他们匹配?
为什么不重用像Symfony2 [Routing](http://symfony.com/doc/current/components/routing/introduction.html)和[Http Foundation](http://symfony.com)这样经过良好测试的稳健组件。 /doc/master/components/http_foundation/introduction.html)。 – ChocoDeveloper
@ChocoDeveloper谢谢,我知道alrady有很多解决方案,但如果我试着自己做第一个,我会更好地理解它们和URL路由概念。 – imperium2335
你仍然应该检查出来。阅读别人怎么做会给你很多想法。例如,为方法添加一些类似'Action'的内容很常见,以防止访问不应通过URL访问的公共方法。因此,例如,如果您收到'user/profile',则应该创建User类并调用方法'profileAction'。如果你不添加'Action',攻击者可以尝试调用'deleteUser',你就明白了。 – ChocoDeveloper