是否可以从PHP监视服务器响应代码(http状态代码),以及如何完成?

时间:2013-06-17 17:53:42

标签: php security error-handling http-status-codes

服务器响应代码/ http状态代码(101,200,404等)应在用户和服务器之间的每次交互中在标头中发送。如何监视PHP中的代码,以便在发送错误代码时,可以将其链接到Web应用程序记录的用户操作,并进行相应的响应,例如通过锁定或重定向用户重复403(禁止)通过尝试访问服务器上的内容而不是代码?

2 个答案:

答案 0 :(得分:1)

检查http_response_code

*如果您没有传递参数,则http_response_code将获取当前状态代码。如果传递参数,则会设置响应代码。*

http://php.net/manual/en/function.http-response-code.php

答案 1 :(得分:1)

基本上没有,因为标题是由Web服务器发送之前解析PHP文件并生成“真实”输出。您可以使用方法http_response_code(),但请注意:如果您要访问www-data没有读取权限的文件夹,您将获得403 Forbidden。这是Web服务器的消息,PHP甚至从未被触及(因为,对于Web服务器,它甚至不存在)。

如果您专门使用自定义ErrorDocument配置或者PHP文件发送响应代码,则可以捕获这些事件的唯一方法:

if ( !$something )
    header("HTTP/1.1 403 Forbidden");