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 レベルではなくサーバー レベルにあるというヒントです。ただし、意図的に 403 ヘッダーを送信する PHP ファイルがある場合もあります)。ModSecurityまたは同様の機能がオンになっているかどうかを確認してください。特定のタグなどを拒否するように構成できるため、サーバーのファイアウォールを再構成する必要があると思われます(具体的には、SecFilter設定を確認してください)

于 2012-05-30T01:58:58.957 に答える