如果在使用php的站点上发生意外事件时如何创建自定义错误页面?

时间:2014-01-05 21:49:24

标签: php server-administration web-administration

我正在Apache Web服务器上使用PHP进行开发。我想知道是否有办法强制服务器在发生任何以下事件时提供自定义错误页面

  • 用户正在寻找的页面不存在(我想提供自定义错误页面而不是经典的'404 Not Found');
  • 用户更改了value =''的属性值或name =''属性的值,然后发送带有错误值的表单(例如,我有一个value属性表示id的值将被购买的产品或将被取消的数据库中的单行。我想防止模糊行为,例如当用户从“检查元素”浏览器工具更改值属性时,然后提交表格;
  • 用户更改了?query_string =值,然后点击了链接或提交了一个表单,其中action属性设置为“page.php?query_string = value”。

因此,每当发生任何这些模糊事件时(我知道用户在购买东西时更改输入元素的属性值可能看起来很愚蠢,但谁知道)我想抛出一个类似于例如,当您尝试访问https://www.facebook.com/hello.php时,用手指断了脸谱。

我怎样才能实现这一目标?我是否需要配置某些东西,或者我可以直接使用PHP进行配置?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以做的是根据他访问的页面重定向某个人。很多框架都有内置的路由验证。例如:http://symfony.com/doc/master/book/routing.html

如果路线不匹配,则会显示框架的404页面。您无法根据用户输入将它们真正发送到该页面,您更喜欢的是(如果是表单)验证并在出错时显示错误。 Symfony2(在这种情况下)也提供CSRF令牌以防止XSS。 http://symfony.com/doc/current/book/forms.html

这几乎是您需要做的所有编程,以保护您的网站并验证用户输入。永远不要相信用户发送给您的内容,包括$ _SERVER变量;)