使用PHP,是否有方法检查web服务器资源是如何被请求的,同时尽量减少伪造和黑客攻击的空间?或者简单地说,如何检查它是否是超链接点击、直接URL、提交HTML表单、编程访问等等?
如果使用的是PHP以外的工具呢?
发布于 2014-06-24 07:38:16
你不可能通过这种方式防弹,但一个好的开端是$_SERVER。
例如,使用$_SERVER['REQUEST_METHOD'],您可以确定请求是否为get/post/put/...
关于链接单击或直接访问:$_SERVER['HTTP_REFERER']可能会有所帮助。
最后,$_SERVER['REQUEST_URI']可能保存一些有用的信息,以确定脚本是在webserver (比如apache)上运行还是在控制台上运行。
有关这方面的更多信息,请参见文档。
正如我前面提到的:,您不能确定这里的任何东西,,但是如果您只是想要一些信息,而不是出于安全原因使用它,那么您就可以了。
如果您想要安全性,您需要研究使用.htaccess的可能性。
发布于 2014-06-24 07:38:07
听起来你可能是在暗示跨站点请求伪造(CSRF)的攻击。CSRF攻击是指攻击者可以向似乎来自合法用户的站点发出请求的地方(例如:“将500美元转入1234帐户。”这些攻击滥用了网站对访问者的信任。该请求可能看起来是合法的,因为它附带了与用户身份验证会话匹配的会话cookie。
为了防止CSRF攻击,开发人员通常添加具有"CSRF令牌“的隐藏表单字段。此令牌与表单提交一起提交。这是确保提交表格是合法的一种手段。提交时,将验证CSRF令牌(通常将其与存储或计算在服务器上的令牌值进行比较)。
有关实现细节的信息,请参阅OWASP。一个重要的注意事项是不要在URL中公开令牌(即通过GET请求),因为这些令牌可以向潜在攻击者公开令牌。
如果您有超出CSRF的担忧,请随时更新您的问题,我很乐意提供更多的信息,更具体的您的需要。
https://stackoverflow.com/questions/24380548
复制相似问题