0

SOと同じ機能が必要なWebサイトをコーディングしています。私のサーバーはLitespeedを使用しています。これにより、phpファイルの実行速度が向上します。

通常の形式でphpコードを送信しようとすると、すべてが正常であるように見えます。データは、変数内のコードを解釈せずにアクションファイルに送信されます。$.postしかし、jQueryメソッドを使用してコメントtextareasで同じデータを送信しようとすると、Forbidden403エラーが発生します。データは、Litespeedサーバーによって道路上でブロックされます。なぜこれが起こっているのかわかりませんが、$_POSTajaxを使用するとデータが自動評価されるのはなぜですか?

この状況は毎回発生するわけではありませんが、場合によっては次のようになります。

this is a new message which presents this php code: <?php mysql_query("SELECT * FROM my_table"); ?>

メッセージを削除しても問題ないことに注意してください<?php?>私はすでにencodeURI()メソッドを使おうとしましたが、これは何も変わりません。

.htaccess$ _POSTデータを自動評価しないために適用する必要のある設定はありますか?

または、コメントを送信する前に、開始タグと終了タグを置き換える必要がありますか?

後で編集

これは私が今これを解決することができた方法ですが、私はまだ提案を待ってい.htaccessます:

$but.prev('textarea').val().replace(/(<\?php)/gi,'-?php ').replace(/(<\?)/gi,'-? ').replace(/\?>/gi,' ?-');

およびサーバー側

str_replace(array('-?php','?-','-?'), array('`<?php','?>`','`<?'), $_POST['comment']);
4

0 に答える 0