Я использую код 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;
}
И макет формы. Они оба на одной странице КСТАТИ:
<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> </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
Других решений пока нет …