Как убедиться, что переменная размещена на определенной странице JavaScript в PHP - PullRequest
0 голосов
/ 01 марта 2011

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

Моя проблема в том, что после выполнения задачи из JavaScript, код JavaScript должен отправлять переменные на страницу PHP, и, насколько мне известно, это может быть сделано только по почте, получению и cookie, что означает, что пользователь может возможно подделать переменную и отправить ее.

Я хочу убедиться, что переменные, которые получает страница PHP, взяты из страницы JavaScript. Пока не повезло. Какое решение?

Ответы [ 4 ]

1 голос
/ 11 апреля 2011

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

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

Независимо от этого вы должны никогда доверять данным, поступающим из браузера, и все проверять, что касается безопасности.на сервере и не волнует, какое клиентское программное обеспечение использовалось для сбора этих данных (будь то ваш код JavaScript или некоторые жестко закодированные данные GET / POST).

1 голос
/ 01 марта 2011

Вы правы, это, безусловно, проблема.

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

Что конкретно вас беспокоит? Возможно, мы могли бы помочь вам больше, если бы знали больше о вашем сценарии.

0 голосов
/ 11 апреля 2011

Вы можете сгенерировать токен подлинности при обслуживании вашей страницы.Затем убедитесь, что ответ содержит тот же токен подлинности. Рельсы .

0 голосов
/ 11 апреля 2011

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

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

...