发布HTML时禁止使用PHP 403

时间:2014-12-19 19:11:58

标签: php html mysql post litespeed

我正在使用PHP代码将内容插入MySQL数据库。

我使用tinyMCE编辑器进行内容编辑。

问题是,当我在内容中使用一些HTML标签时,服务器会向我发送403 - 禁止 但是,如果我摆脱HTML标签;我可以插入我的内容,阅读,编辑,删除它没有任何问题。

我该怎么办?

我尝试将“<”,“>”,“=”等字符更改为其他一些内容,例如“aaaaa”,“bbbbbbb”和str_replace。它适用于本地。它像这样将数据写入数据库,并在阅读时轻松转换。

我也尝试过base64_encode和解码。这也适用于当地。

但是在服务器中,它们都没有用。所以我认为问题不在于插入。这是关于发布。我甚至无法回复我的SQL查询或发布值。一旦我点击提交,我就会看到403。

你有什么建议?

我听说有人说

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

但它并不安全。如果我将这些行添加到我的htaccess中,一切正常。

您认为我可以修改此代码以获得更高的安全性,还是我必须对我的PHP脚本执行某些操作?

所以你问过我的PHP代码。这是:

if(isset($_POST['add']))
{
    //Diğer parametreleri de al:
    $_POST['icerik'] =  mysqli_real_escape_string($myDatabaseLink, $_POST['icerik']);
    //SQL sorgusunu hazırla:
    $sorgu =sprintf("INSERT INTO table VALUES('%s')", $_POST['icerik']);
    echo $_POST['icerik']; //Can't even reach here while posting HTML (otherwise no problem)
    echo $sorgu; 
    exit;
}

表格布局。他们都在同一页面BTW:

<form action="#" method="post" name="blabla">
<table>
  <tr>
    <td>İçerik:</td>
    <td><textarea name="icerik" id="editor1" class="ckeditor" rows="10" cols="80"></textarea></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="add" value="Yazı Ekle"></td>
  </tr>
</table>
</form>

1 个答案:

答案 0 :(得分:0)

在此页面上,您可以找到有关mod_security的更多信息以及解决问题所需的选项 - http://wiki.modxcms.com/index.php/What_is_mod_security_and_how_does_it_affect_me