Как я могу получить URL-адрес отправителя на моем сервере в php

Мне нужно проверить запрос Url в php. В основном мне нужно проверить, является ли форма сообщением с того же сервера или нет. Мне нужно получить действие формы в php

Related of "Как я могу получить URL-адрес отправителя на моем сервере в php"

Нет надежного способа определить, как был создан HTTP-запрос.

Что вы можете сделать, это реализовать защиту от CSRF. Это не гарантирует, что представление поступает из формы на вашем собственном сервере, но это помешает третьей стороне (Мэллори) обмануть пользователя (Алису) вашего сайта, чтобы отправить плохие данные от их имени.

Когда Алиса приходит на ваш сайт, создайте случайный токен и передайте его (например, в сеансе). Поместите копию этого токена в скрытый ввод в вашей форме. Если, когда форма отправлена, токены не совпадают, тогда запрос поступает от Мэллори.


Если проблема в том, что вы не доверяете Алисе не редактировать форму самостоятельно, тогда вы не можете использовать ее в качестве защиты.

Не дайте Алисе данные, на которые вы ей не доверяете. Проверьте идентификацию пользователей, выполняющих запросы, прежде чем предоставить им доступ к соответствующим битам сайта.

Например, если форма является формой «Удалить сообщение», и ваша проблема заключается в том, что «Алиса может изменить идентификатор отправляемого сообщения», а затем проверить, что Алиса является владельцем сообщения с этим идентификатором, когда вы получаете запрос на удаление Это.

Вам нужен токен CSRF .

Когда запрашивается страница, добавьте строку в форму, например

 <input type=hidden name=token value=$token> 

и сохранить его в базе данных.

Маркер может быть сгенерирован с использованием чего-то вроде хэша временной метки.

Когда форма отправлена, проверьте, был ли токен создан самим сервером.