2011-02-07 3 views
0

Я имею дело с паролями, поэтому безопасность имеет решающее значение.Как вызвать файл javascript во время выполнения PHP-файла.

Вот поток ...

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

Я бы воспользовался функцией jquery и позвонил по меньшей мере php-файл при успешном выполнении, но я не хочу передавать пароль пользователя в функции POST.

Я предполагаю, что если я периодически вызываю функцию jquery из функции PHP, это устраняет проблему передачи пароля с использованием функции post для php.

Причина: Я передаю пароль, что я использую IMAP и должен использовать пароль пользователя для получения электронных писем.

Текущий поток (небезопасно) 1.) Пропустите имя пользователя и пароль, используя javascript в функции PHP, используя переменную jquery AJAX и POST. Я полагаю, что это не безопасно.

Что такое безопасное решение?

+2

Почему вы предполагаете, что POST небезопасен? Есть два способа получить данные на сервере - GET и POST. GET - не защищен; POST - более безопасный. Если безопасность * критическая *, то вы должны использовать POST с SSL. –

+2

POST не намного безопаснее, чем GET.Он хранит данные из файлов журнала стандартного доступа и (если данные отправляются как часть обычной формы) из адресной строки (где уязвимо для «Я стою позади вас и смотрю на экран») , – Quentin

+0

@ David - Что я имел в виду, более безопасно, так это то, что мой Nan не смог узнать мой пароль, посмотрев URL-адрес. ;) –

ответ

6

Я предполагаю, что если вызвать функцию JQuery из функции PHP периодически,

PHP выполняется на сервере. Его вывод (который может включать JavaScript) отправляется клиенту. JavaScript выполняется на клиенте.

Вызов JavaScript-кода с PHP предполагает, что на сервере будет доступен какой-то механизм JavaScript (например, node.js). Поскольку пароль все равно будет на клиенте, это не принесет вам пользы.

Я бы воспользовался функцией jquery и позвонил по меньшей мере php-файл при успешном выполнении, но я не хочу передавать пароль пользователя в функции POST.

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

Что такое безопасное решение?

Шифрование (через HTTPS)

+0

Хорошо, поэтому я использую SSL (https), а затем передаю пароль назад и четвертый в токен сеанса, что-то вроде $ _SESSION ['pwd'], или есть что-то, что мне не хватает? Могу ли я сохранить пароль в $ _SESSION ['pwd'], а затем передать его обратно и четвертый? Означает ли это общие стандарты безопасности? –

+1

@Bob. Есть ли конкретная причина, по которой вы передаете пароль назад и вперед? Не могли бы вы один раз проверить пароль, а затем установить флаг SESSION, чтобы сказать, что пароль был проверен и проверен? –

+0

Да, потому что для того, чтобы открыть соединение IMAP в PHP, мне нужно передать соединение. Вот почему я решил вместо этого называть jquery из PHP, поэтому мне нужно было только подключиться к IMAP один раз в форме PHP, а затем обновить экран, вызвав jquery из функции PHP. Поэтому каждый раз, когда я вызываю новую функцию PHP, мне нужен пароль для открытия нового соединения IMAP - возможно, я ошибаюсь, и мне не хватает ключевой информации, любые мысли будут оценены. –

1

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

Как только пользователь входит в систему, вы получите уникальный файл cookie с криптографически безопасным случайным числом в качестве идентификатора сеанса (большинство веб-контейнеров имеют встроенную функцию). Передайте файл cookie с периодическим POST.

+0

И, конечно, используйте SSL для первоначального входа. Используйте SSL для всех (даже статического содержимого), если данные чувствительны. –

+0

Нет, не сохраняя его. Это одно время, которое я хочу использовать. Хотелось бы, чтобы я мог использовать надежное шифрование/дешифрование, но я не думаю, что любой из них стоит того, поэтому я даже не храню пароли. Пароли являются паролями электронной почты пользователей для IMAP, поэтому в целом я более чем нерешительно отношусь к тому, чтобы не хранить их, поэтому я решил не хранить их. - Я использую пароль для входа в систему для доступа к электронной почте IMAP или POP3 с сервера, передавая ее функции, но не используя ее после этого использования времени. –

+0

Не могли бы вы заставить сервер сделать IMAP-запросы и прокси-сервер в результатах поиска? –

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