403 при отправке формы, 200/302 с cURL / wget - PullRequest
0 голосов
/ 02 августа 2011

У меня есть форма со многими входами. Некоторые названы «дата», «тип» и т. Д.

Действие формы указывает на http://www.xxx.com/admin/links/create через POST.

Когда я пытаюсь отправить его (правильно заполнив обязательные поля), я получаю 403 ответ.

В следующих случаях я получаю либо 302, либо 200 коды ответов (в зависимости от файла cookie для входа):

Я проверил разрешения, .htaccess (у меня есть только FTP-доступ к web-root) и различные другие места и все выглядит отлично.

Я надеюсь это не именование коллизий входов (на самом деле, я очень надеюсь, потому что это будет легко исправить).


Все вышеперечисленное происходит в production, то есть Linux (Apache / 2.0.51 в Fedora). Все отлично работает на local, то есть Windows. Не говорите мне, что это разрешения ...


Кто-нибудь знает, что может быть причиной этого - по моему собственному восприятию - странного поведения?

1 Ответ

0 голосов
/ 03 августа 2011

Culprit: Apache's mod_security.

У меня не было этого модуля на моей машине с Windows (поэтому он работал локально), но на сервере он был установлен.

Вот что ясделал:

  • Я проверил журналы доступа.Нашел это:

    [...] mod_security: Access denied with code 403. Pattern match "!(^application/x-www-form-urlencoded$|^multipart/form-data;)" at HEADER("Content-Type") [...] [uri "/admin/links/create"] [...]

  • Поскольку я не знаю, как обращаться с mod_security (пока!), Я полностью удалил его, и это сработало.В ваших .htaccess:

<IfModule mod_security.c>
  SecFilterInheritance Off
</IfModule>

Конечно, вы можете точно определять цели Apache только для применения этого правила к определенным файлам / папкам с помощью директив.

Некоторые ссылки, которые могут помочь:
http://community.mybb.com/showthread.php?tid=7592
http://wordpress.org/support/topic/upgrade-to-22-dashboard-not-working
http://energy -4-3.com / uncategorized / mod_security-access-denied-with-code-403-pattern-match-http /
http://www.modsecurity.org/ (домашняя страница)

...