Предотвращение вызовов $.post от посторонних Javascript PHP

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

Я вызываю функцию из внешнего файла Javascript с помощью $.post, как в следующем примере:

$.post('http://[mydomain]/email.php', {
    'Email': 'email@email.com',
    'Subject': 'This is the subject',
    'Text': 'This is the body'
}, function (data) {

});

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

Итак, мой вопрос:

Можно ли как-то распознать эти внешние вызовы и запретить их выполнение?

1 ответ

Чтобы это было понятно раз и навсегда:

  1. Вы не можете (или, возможно, не должны) устанавливать ограничения на то, что пользователь вводит в консоли
  2. Ваша проблема не в том, что пользователи могут вводить вашу команду в консоли, это связано с тем, что вы отправляете электронные письма через интерфейсную часть вашего сайта...

Чувствительные операции, такие как отправка электронной почты, проверка паролей, регистрация пользователя, НИКОГДА не должны выполняться на внешней стороне вашего сайта; они должны ВСЕГДА выполняться на серверной стороне вашего сайта. Это здравый смысл, когда речь идет о рисках безопасности.

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