3

我有一个表单,我正在使用 nicEdit WYSIWYG 并启用了以下按钮:

  • 胆大
  • 斜体
  • 强调
  • 无序列表

当其中任何一个用于无序列表时,我可以提交表单并处理对我的 SQL 数据库的更新。当文本字段使用 UL 时,我从服务器收到 403 Forbidden 错误。

表单代码如下:

<form action="actions.php?action=2" method="POST">
<p>How We Met Story</p>
<textarea name="area1" cols="50" id="area1"><?php echo html_entity_decode($row_rsHowWeMet['howWeMet']); ?></textarea>
<input name="websiteID" type="hidden" value="<?php echo $_GET['websiteID'] ?>" />
<p><input id="partyEntry" type="submit" name="Submit" value="Save Changes" /></p>
</form>

处理表单的代码如下:

$myMessage = htmlentities($_POST['area1']);

$sql2 = "UPDATE `tools_wedWebHowWeMet` SET `howWeMet` = '" . $myMessage . "' WHERE websiteID = '" . $_POST['websiteID'] . "'";

if (!mysql_query($sql2,$con))
{
echo "failed";
die('Error: ' . mysql_error());
}

任何想法为什么会发生这种情况?我已经进行了一些搜索,但没有找到可靠的答案。StackOverflow 上有另一个线程有一个非常相似的问题,但没有答案。非常感谢。

4

1 回答 1

6

假设 POST 数组中的差异实际上只是它是否有标签(您应该通过实际检查 POST 并确保它实际上是相同的来验证这一点),我猜这与软件防火墙(403 错误提示问题可能出在服务器级别而不是 PHP 级别 - 尽管您可能有一个 PHP 文件故意发送 403 标头)。检查您是否打开了ModSecurity或类似的东西。我怀疑您可能需要重新配置服务器的防火墙,因为它们可以配置为拒绝特定标签等(具体来说,检查SecFilter设置)

于 2012-05-30T01:58:58.957 回答