我正在尝试标准化我在Web应用程序(自制框架)中处理异常的方式,但我不确定处理各种情况的“正确”方法。我想知道从UI /用户友好的角度来看是否有最佳实践。
用户登录应用程序并打开两个显示同一屏幕的选项卡。在一个选项卡上,他们在对象FOO
上发出删除命令。然后,在另一个选项卡中,然后单击FOO
上的编辑命令(不再存在);例如对editObject.php?object_id=FOO
的GET请求。当他们发出这个不存在的对象的编辑请求时,我该怎么办?
- 目前我正在将这些“缺失”的对象重定向到上一页,并显示错误消息,例如“对象不存在”。
用户发出GET请求以搜索color=Red
的对象,例如searchObjects.php?color=Red
。返回这些结果的查询爆炸了,因为有人删除了OBJECTS表。这是一个意外的例外,与1)不完全相同。
- 目前我正在重定向到errorPage.php
并显示“意外错误”消息
一般情况下,如果应的GET / POST参数存在,我该怎么办才会神秘地丢失。也许有人试图注入一些东西?
- 目前我正在将这些视为2)
在上述3个案例中我应该做些什么?
editObject.php?object_id=FOO
header('Location: errorPage.php')
答案 0 :(得分:0)
我会说渲染它并提供404.这样,用户就有机会看到他们在网址中出错的地方,或者复制&粘贴它。如果您重定向到一般错误页面,他们就没有这个机会。
PHP服务404的方式是
header("HTTP/1.0 404 not found");