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

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

Я вызываю функцию из внешнего файла 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. Ваша проблема на самом деле не в том, что пользователи могут вводить вашу команду в консоли, это связано с тем, что вы отправляете электронные письма через интерфейсную часть вашего сайта …

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

1

Другие решения

Других решений пока нет …