【发布时间】:2013-02-12 23:48:57
【问题描述】:
这可能会让你摸不着头脑 - 它肯定有我!
我正在使用表单向 WordPress 的“update_post_meta”函数提交内容。
表单本身非常简单,只有一系列输入和文本区域。提交时,该操作将定向到同一页面,其中一些 PHP 在提交到 Wordpress 之前接管对 $_POST 信息进行验证。现在一切正常,除了一个非常奇怪的错误:
每当您在任何字段中使用“赌场”一词时,页面都会刷新并抛出404 error,即使地址栏显示一个完全有效的 URL!我不相信这是我的 PHP 代码,因为我认为我们在这个过程中没有走那么远,所以我认为这是服务器的事情,但我无法想象为什么。这发生在整个网站的任何形式上,我在由同一托管公司(Namecheap,FYI)托管的其他网站上也得到了相同的结果。
所以,问题是,任何人都可以提出一个理由,为什么将这个词特别发送到$_POST 会破坏表单并导致该错误?
PS。我目前正在使用replace() javascript 函数解决此问题,因此“赌场”永远不会随表单一起发送,但如果“赌场”问题能够解决,我将不胜感激。这至少会让我不再困惑。
【问题讨论】:
-
听起来像是一种垃圾邮件保护机制,可能在 Wordpress 级别,可能在服务器级别
-
您可以手动将单词插入数据库吗?或者你能看到这个词是否直接发给它?这可以缩小您的问题范围吗?
-
联系您的虚拟主机。他们可能有一个过于激进的
mod_security规则导致了这种行为。 -
Nemecheap 确实有非常热心的安全设置,前几天我因为更改密码而被封 IP!我会发邮件看看他们怎么说。我可以通过其他方法将单词插入 WordPress,只是 $_POST 阶段导致它出现问题。