Сообщение о проблеме с закодированным файлом base64 - PullRequest
3 голосов
/ 13 сентября 2010

Я пытаюсь опубликовать в скрытом виде кодированное изображение base64 (~ 500 КБ), и все, что я получаю, это ошибка

   501 Method Not Implemented

GET to /test.php not supported.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

мой код

<code><?php error_reporting(E_ALL) ?>
<html>
<head></head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<input type="hidden" name="image" value="{base64 encoded image}">
<input type="submit" name="" value="OK">
</form>

<?php if($_POST) {
    echo '<pre>'.print_r($_POST, true).'
';}?>

Ps.на localhost все работает нормально.

Спасибо за помощь.

Ответы [ 3 ]

0 голосов
/ 13 сентября 2010

Вероятно, это связано с проблемами безопасности.Попробуйте это:

Чтобы исправить это, добавьте это в ваш /etc/httpd/conf/httpd.conf внутри блока, который начинается с (путь к корню дерева каталогов Apache):

SecRuleEngine off

<Directory "/var/www/html">
    SecRuleEngine off
</Directory>

/ var / www / html - это ДОКУМЕНТ_ROOT вашего сайта.Перезапустите / перезагрузите apache.

0 голосов
/ 14 сентября 2010

Глядя на сообщение об ошибке, есть две проблемы. Один 501, один 404.

501 потому что ваш веб-сервер не распознает метод POST. Попробуйте это с постом в нижнем регистре (хотя я был бы удивлен, если это вызвало ошибку).

404 - потому что цель формы не найдена (или может быть неправильно настроена), и нет ErrorDocument, настроенного для обработки 404 Просмотрите HTML-код формы в своем браузере и убедитесь, что $_SERVER['PHP_SELF'] выводит правильный URI.

Если ни один из них не кажется странным, попробуйте опубликовать форму без данных изображения. Возможно, вам нужно закодировать данные для транспорта POST.

0 голосов
/ 13 сентября 2010

Если вы используете один и тот же браузер, это может быть параметр post_max_size php.ini, хотя я думаю, что по умолчанию он будет намного выше ~ 500 КБ.

...