【发布时间】:2013-01-15 01:14:52
【问题描述】:
我有一个PHP 脚本,用于处理来自支付处理器的回调。
如果查询字符串 'result' 包含双破折号后跟一个单破折号,我们会得到 403,例如
/index.php?result=A--B- (returns 403)
/index.php?result=A-B- (is OK)
/index.php?result=A-B-- (is OK)
/index.php?result=A--B (is OK)
/index.php?result=A---B (returns 403)
/index.php?result=A-B-C- (is OK)
对于此站点,.htaccess 或 apache config 中没有重写规则。
加载的模块如下:
core prefork http_core mod_so mod_auth_basic
mod_auth_digest mod_authn_file mod_authn_alias
mod_authn_anon mod_authn_dbm mod_authn_default
mod_authz_host mod_authz_user mod_authz_owner
mod_authz_groupfile
mod_authz_dbm mod_authz_default util_ldap
mod_authnz_ldap mod_include mod_log_config mod_logio
mod_env mod_ext_filter mod_mime_magic mod_expires
mod_deflate mod_headers mod_usertrack mod_setenvif
mod_mime mod_dav mod_status mod_autoindex mod_info
mod_dav_fs mod_vhost_alias mod_negotiation
mod_dir mod_actions mod_speling mod_userdir mod_alias
mod_rewrite mod_cache mod_suexec mod_disk_cache
mod_file_cache mod_mem_cache mod_cgi mod_version
mod_security2 mod_unique_id mod_php5 mod_ssl
【问题讨论】:
-
您是在使用框架还是这是一个简单的 PHP 脚本?
-
嗨彼得,没有使用框架,只是一个简单的脚本。实际上,使用仅包含 echo phpinfo(); 的 test.php 进行测试。有相同的结果。所以我认为实际的脚本与问题无关。谢谢
-
禁用 mod-security2 是否有效?这是一个禁止错误,因此安全性可能是问题所在。
-
您的 Apache 错误日志中有任何内容吗?
-
是的,这肯定是
mod_security的事情。
标签: php apache .htaccess request.querystring mod-security2