PHP 403 禁止发布 HTML

标签 php html mysql post litespeed

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

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

问题是,当我在内容中使用一些 HTML 标签时,服务器向我发送 403 - Forbidden 但是如果我去掉 HTML 标签;我可以毫无问题地插入、阅读、编辑、删除我的内容。

我能做什么?

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

我也尝试过 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;
}

和表单布局。他们都在同一页上顺便说一句:

<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>

最佳答案

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

关于PHP 403 禁止发布 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572466/

相关文章:

php - 如何使用id或邮箱登录

php - ajax加载不同内容后如何刷新Select2下拉菜单?

javascript - 动态添加具有特定类名称的表单元格

php - 如何重新索引 MySQL 列?

php - 比较两个查询 Laravel 的结果

php - urlencode() 不起作用

html - 将 CSV 数据从 div 复制到 Excel 工作表

php - 如何使用 PHP 下载并删除我网站上的文件?

PHP - 将动态字段保存到 MySQL 数据库

mysql - 如何根据A列的数据将B列的SQL搜索结果汇总为sum?