0

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

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

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

我怎样才能做到这一点?我需要配置一些东西还是我可以直接用 PHP 来做?

感谢问候!

4

1 回答 1

1

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

如果路由不匹配,它将显示框架的 404 页面。您不能真正根据用户输入将它们发送到该页面,您宁愿拥有的是(在表单的情况下)验证并在出错时显示错误。Symfony2(在这种情况下)还提供了 CSRF 令牌来防止 XSS。http://symfony.com/doc/current/book/forms.html

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

于 2014-01-05T21:55:22.210 回答