html — недопустимо — 406 — файл не найден на этом сервере

Я получаю эту ошибку

Неприемлимо

Соответствующее представление запрошенного ресурса
/admin/prc_res.php не может быть найден на этом сервере.

Кроме того, возникла ошибка 406 Недопустимо при попытке
использовать ErrorDocument для обработки запроса.

Eсть $_POST['additionalinfo'] (из HTML teaxtarea) который дает мне эту ошибку. Если я удаляю это, код работает нормально.

Но почему я получаю 406 ошибка?

Мой index1.php в unnat1ir.in/cdn/

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>406 Error</title>
</head>
<p><form method="post" action="process.php">
<textarea name="test" rows="10" style="width:100%"></textarea><br>
<button type="submit">Check for 406 Error</button>
</form>
</p>
<p>This form is posted to <code>process.php</code>. In <code>process.php</code> I am just echo-ing <code>$_POST['test']</code> of the <code>textare with tinymce plugin</code>. <strong>If little amount of data is entered in textarea, no issues, BUT LARGE DATA will cause <code>406</code> error</strong></p>
<h1>Please check by inserting large <code>html</code> data </h1>
<body>
</body>
</html>

И process.php

<?
ini_set("log_errors", 1);
ini_set("error_log", "err.txt");
?>
<h1>The <code> echo ($_POST['test'])</code> is</h1>
<hr>
<code><? echo htmlentities($_POST['test']); ?></code>
<hr>

Все вышеперечисленные коды работают нормально на localhost

2

Решение

это потому, что вы не экранируете некоторые html-символы, которые вводятся через поле textarea, такие как кавычки и т. д. Попробуйте приведенный ниже код, который работает.

mysql_escape_string($_POST['additionalinfo']);
1

Другие решения

Это должно быть проблемой с вашим php.ini конфиг, попробуйте отредактировать

post_max_size=80M или что-то, чтобы увеличить лимит.

0

попробуй это :

<?
ini_set("log_errors", 1);
ini_set("error_log", "err.txt");
?>
<h1>The <code> echo (htmlspecialchars($_POST['test']))</code> is</h1>
<hr>
<code><? echo htmlspecialchars($_POST['test']); ?></code>
<hr>

Для дополнительной информации

0

Судя по всему, это решено, но я подумал, что могу дать вам некоторый контекст.

406 Ошибки возникают, когда сервер настроен на отклонение запросов, которые соответствуют или не соответствуют определенным условиям.

Ваш хостинг-провайдер, вероятно, возился со своими правилами mod_security, а ваша форма вызывала непреднамеренный отказ от Apache.

Правила mod_security могут быть очень сложными и сложными, потому что они обычно настраиваются на одной линии.

Если вас беспокоит безопасность, вы можете проверить у своего хоста, отключили ли они mod_security для вашего сайта или просто перенастроили его.

Вы можете проверить, активна ли mod_security на вашем сайте, загрузив файл с именем phpinfo.php на ваш сайт, который просто содержит <?php phpinfo() ?>,

Загрузите страницу в браузере и затем найдите mod_security, Если это так, то они просто исправили свою конфигурацию mod_security.

Если нет, то они просто удалили его с вашего сайта.

Рад, что это решено.

0

Я обнаружил, что эта ошибка возникает из-за того, что вы пытаетесь вставить ‘±’ значения такого типа. Если вы удалите этого персонажа и отправите форму, ваша форма будет успешно отправлена. Таким образом, решение заключается в том, что вы должны использовать знак «±» вместо «±» или использовать коды символов html, тогда только ваша информация будет сохранена в базе данных.

0

Попробуйте этот код (см. Открывающие теги):

<?php
ini_set("log_errors", 1);
ini_set("error_log", "err.txt");
?>
<h1>The <code> echo ($_POST['test'])</code> is</h1>
<hr>
<code><?php echo htmlentities($_POST['test']); ?></code>
<hr>
0
По вопросам рекламы [email protected]