2012-06-29 4 views
2

Я уже некоторое время борюсь с этой проблемой и не могу найти какую-либо информацию или образец кода для передачи некоторых данных между PHP и JavaScript. Я видел много способов сделать это, но не безопасно. То, что я имею в виду, это то, что когда вы переносите некоторые переменные данные между системами, она отображается непосредственно в окне источника просмотра вашей страницы, когда она загружается. Какой именно способ передачи данных, но тихо и безопасно, чтобы он не отображался на стороне пользователя при загрузке страницы.Передача переменных с php на javascript (безопасно)

Итак, вкратце, есть ли способ сделать это и как можно?

Я уже пробовал передавать данные с помощью XML-файла, JSON также, прямо с помощью echo + или сразу после аббревиатуры?> В php. Но каждый способ, который я использовал до сих пор, отображается в исходном коде страницы при загрузке.

+0

Возможно, звонок AJAX от JS для получения значения? или, может быть, кодировать его (base64), но если это действительно важно (например, пароль), вам ничего не поможет. – Dementic

+0

Что именно вы пытаетесь сделать («безопасное прохождение параметров» - это не описание, «предотвращение просмотра пользователем исходного кода»)? – ty812

+1

Все, что вы делаете в JavaScript, доступно пользователю, поскольку оно является клиентским. PHP не может буквально передавать «переменные» на JavaScript, поскольку они происходят в разных местах в разное время и, таким образом, не знают о присутствии друг друга. PHP может только распечатывать данные, которые JavaScript может перехватывать и действовать. Как спросил Мартин, расскажите нам, что именно вы пытаетесь достичь, и мы сможем предложить подход, но это не похоже на то, что вы в настоящее время жизнеспособны. – Utkanos

ответ

4

То, что вы задаете, действительно невозможно из-за характера JavaScript и Интернета. Существуют способы обфускации данных и их скрытие в запросах xhttp/ajax, которые могут запрашиваться только один раз. Но для того, чтобы отправить данные клиенту, клиент должен иметь возможность читать его, а это значит, что пользователи, которые знают, что делают (то есть устанавливают FireBug и могут писать JavaScript), всегда могут его декодировать и видеть.

Если бы я был вами, я бы посмотрел на некоторые простые формы кодирования или шифрования JSON (и запросил данные через ajax/xhttp через HTTPS), это уберет большинство людей, но технически подкованные все равно смогут работать способы расшифровки содержимого. Однако, если контент должен быть на 100% безопасным - от всех, даже от пользователя, фактически использующего сайт, - то вы вообще не хотите отправлять эти данные клиенту.

В основном это сводится к тому, какие данные вы фактически отправляете? Если нужно, чтобы данные на клиентской стороне выполняли конкретный расчет, спросите себя: возможно ли отправлять только пользовательский ввод, связанный с JavaScript, обратно на PHP (через ajax/xhttp), а затем PHP вернуть ответ , Таким образом, PHP только когда-либо нуждается в доступе к вашим конфиденциальным данным.

Смежные вопросы