发送状态的正确方式(当WordPress不可用时)是:
http_response_code( 403 );
请参见
PHP Manual for its definition.
但在插件文件中,这永远不应该是文件头顶部的“默认”代码。请参见Worthwhile to restrict direct access of theme files?进行讨论。
在WordPress中,使用status_header( 403 )
如果你需要的话。
关于您发布的代码的注释:
header( \'Status: 403 Forbidden\' );
header( \'HTTP/1.1 403 Forbidden\' );
第一行是对在CGI模式下运行的PHP的“特殊”处理,第二行是在不进行任何检查的情况下使用特定的HTTP协议版本。如果连接是通过HTTP 2或1.1进行的,那么这没有任何意义。
两者都是错误的,因为发送正确状态的正确方法是header()
正在使用该函数的第二个和第三个参数。
所以这会更好:
header( \'Status: 403 Forbidden\', true, 403 );
第二个参数告诉PHP用相同的名称覆盖其他标题,第三个参数用于实际状态。你发布的代码很好
counter-示例:)