Ошибка PHP «Неверный реферер» при отправке почтовой формы

Я новичок в php, но учусь! У меня есть простая форма на сайте клиента. Я тестирую форму, и когда я нажимаю кнопку «Отправить», я получаю следующую ошибку:

Скрипт электронной почты формы

Wrong referrer (referring site). For security reasons the form can only be used, if the referring page is part of this website.

Note for the Admin: Please add the name of your server to the referrer variable in the index.php configuration file: mywebsite.com

На платформе Form Mail Script

Я просматриваю файлы конфигурации и поддержки форм, но не понимаю, что именно мне нужно изменить.

Может кто-нибудь объяснить мне, что означает примечание администратора выше и как это исправить?

Спасибо.

Вы можете дать HTML-код, который вызывает этот PHP?

vIceBerg 05.11.2008 20:33
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
3 489
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Очевидно, вы используете на своей странице скрипт Form Mail. Он имеет функцию безопасности, которая предотвращает отправку формы другими доменами. Это сделано для того, чтобы роботы не использовали скрипт для рассылки спама.

В конфигурации почтового скрипта формы или в самом скрипте вы найдете массив или переменную с перечисленными ссылками. Это те сайты, которым вы хотите разрешить вызов этой формы mail. Вы должны добавить свой собственный домен в этот список или назначить его этой переменной.

Извините, я не использовал этот сценарий, поэтому не могу сказать более конкретно.

Выполнив быстрый поиск ошибки, которую вы видите, я нашел эту ссылку: http://www.stadtaus.com/forum/t-3528.html

Не уверен, поможет ли это вам в данном случае, так как я не знаком с инструментом, который вы используете, но мне показалось, что он подходит.

Ответ принят как подходящий

Реферер - это значение, которое обычно отправляется на сервер клиентом (вашим браузером) вместе с запросом. Он указывает URL-адрес, с которого запрошенный ресурс был связан или отправлен. Эта ошибка является частью механизма безопасности в FormMail, который предназначен для предотвращения обработки скриптом ввода, исходящего не с вашего веб-сайта.

Например, предположим, что ваша форма находится в http://www.foo.com/form.html, а ваш скрипт - в http://www.foo.com/script.php. Если скрипт не проверяет значение реферера, я могу создать форму на моем сайте по адресу http://www.bar.com/myform.html и отправить ее в ваш скрипт. Скрипты, отправляющие почту, часто используются таким образом для рассылки спама.

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

Обратите внимание, что реферер обычно неправильно пишется как REFERER только с одной буквой R в контексте протокола HTTP.

Строка, которую вы хотите изменить:

$referring_server = 'http://www.mywebsite.com, scripts';

Измените его на что-то вроде этого, вероятно, сработает:

$referring_server = 'yourdomain.com';

Другие вопросы по теме