Предыстория: у меня есть свой сайт (http://www.gymandspajobs.com) код, размещенный на сервере Linux. Мой веб-сайт позволяет пользователям регистрироваться заново. Заполненные формы проверяются javascript в папке «/ javascript», и если информация найдена нормально, данные отправляются через объект HTTP-запроса javascript и файл php «somefile.php», хранящийся в папке «/ somefolder» в корневом каталоге делает вставку базы данных.
Проблема: когда новый пользователь пытается зарегистрироваться с помощью firefox (я тестировал в WinXP SP2, Firefox - v3.5.2), я получаю HTTP-ответ (который я нажал в своем файле javascript) «У вас нет разрешения на доступ к /somefolder/somefile.php на этом сервере». .
Удивительно, но та же функциональность отлично работает в IE7 и Chrome.
Пожалуйста помоги.
Спасибо и привет,
Рупак Харвандикар
Я бы попробовал очистить кеш и т. Д. В вашем браузере. PHP - это код на стороне сервера, и он не должен вести себя по-разному при запросе от разных клиентских интерфейсов.
Возможно, вы захотите попробовать изменить пользовательские агенты и замаскироваться под IE при подключении к Fx (надстройка User Agent Switcher позволяет сделать это быстро и легко). Это скажет вам, если это код на стороне сервера, предотвращающий Fx, или что-то еще.
Получаете ли вы какие-либо ошибки в журналах ошибок Firefox, связанные с вашим Javascript, или какие-либо ошибки типа безопасности?
Журнал Firefox доступен через Инструменты -> Консоль ошибок.
Если ваш браузер был открыт на некоторое время, то он, вероятно, полон всевозможных сообщений. Очистите его, а затем попробуйте выполнить действие еще раз на своем сайте и посмотрите, отображается ли что-нибудь в журнале, когда вы проходите процесс.
Вы проверяли журналы Apache?
Разрешен ли JavaScript в вашей установке Firefox? (Инструменты-> Параметры ...-> Контент)
Вы также пытались очистить кеш и очистить файлы cookie вашей установки Firefox? Вы можете очистить его с помощью Ctrl + Shift + Delete.
Это может быть включенный файл (CSS, JPG или даже PHP) с плохими разрешениями, который игнорируется IE и другими браузерами. Другими словами, когда браузер запрашивает index.php, все файлы, включенные в index.php (графика, CSS, внешние файлы JavaScript и т. Д.), Также автоматически запрашиваются браузером. Если один из этих файлов возвращает что-то, кроме ответа HTTP 200 (OK), другие браузеры могут его проигнорировать, но Firefox может выдать ошибку, которую вы видите. Вам необходимо проверить пути и разрешения для всех включенных файлов.
В вашей папке есть национальные персонажи?
Спасибо всем за ваши идеи. Очень ценится.
Тем временем я разместил ссылку ( http://www.nabble.com/You-don%27t-have-permission-to-access--typo3-alt_doc.php-on-this-server.-td11212357.html ) ребятам, занимающимся веб-хостингом, и моя проблема, похоже, была решена после того, как я получил этот ответ от ребят, занимающихся веб-хостингом.
Мы отключили mod_security для вашего домена, чтобы это исправить. Мы ввели следующие строки в файл .htaccess в каталоге httpdocs вашего домена. Мы также проверили и успешно смогли отправить регистрацию работодателя без каких-либо проблем. ~~~~~ SecFilterEngine выключен ~~~~~
Что такое SecFilterEngine и что происходит, когда SecFilterEngine выключен? Пожалуйста, направьте.
Спасибо и привет,
- Рупак Харвандикар -
Я собирался предложить вам деактивировать mod_security после просмотра заголовков ответов HTTP, но, похоже, это уже было сделано.
Mod Security проверяет транзакции между клиентами и Apache, это основано на правилах, и правила определяют, что следует делать в случае совпадения. Очевидно, что хотя бы одно правило соответствует при отправке с помощью FF и приводит к 403. Вам следует запросить у своего провайдера журнал соответствия правил для вашего веб-сайта, чтобы вы могли исправить свой код или отключить mod_security при доступе к этому единственному файлу (через .htaccess).
Хотя проблема уже решена, я думаю, что отключение SecFilterEngine может быть не лучшим решением этой проблемы, поскольку это ставит под угрозу безопасность. Поэтому я спросил у хостеров, есть ли способ оставить mod_security включенным и при этом заставить мою функциональность работать ... вот их ответ ...
[В. Есть ли способ, которым мой код может работать, но при этом mod_security включен?
Ответ Это возможно. Но это непросто. Вы должны изменить код в файле таким образом, чтобы URI не имел шаблона "! (^ Application / x-www-form-urlencoded $ | ^ multipart / form-data;)", потому что мы нашли эту запись в журналах ошибок apache -
mod_security-действие: 403
mod_security-message: Доступ запрещен с кодом 403. Соответствие шаблона "! (^ application / x-www-form-urlencoded $ | ^ multipart / form-data;)" в HEADER ("Content-Type")]
Пожалуйста, объясните мне, как этого добиться в моей регистрационной форме?