лучший способ зашифровать переменную в PHP Я не хочу, чтобы люди видели, и все же иметь возможность расшифровать его? - PullRequest
0 голосов
/ 23 октября 2011

У меня есть скрипт curl, который входит на веб-сайт, который я написал на PHP, для выполнения задачи.

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

Есть ли способ, которым я мог бы зашифровать этот пароль, так что, если кто-нибудь когда-нибудь попадет на FTP или что-нибудь еще, то если они будут смотреть на файл, в котором он находится, они не смогутоднако, чтобы прочитать пароль, curl сможет прочитать его и все равно правильно его использовать?

Спасибо!M

Ответы [ 3 ]

1 голос
/ 23 октября 2011

Если вы зашифруете свой пароль, ваш скрипт curl должен будет расшифровать его, чтобы использовать его в качестве пароля для вашей задачи PHP.

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

Это проблема, с которой сталкиваются все DRM (например, шифрование DVD) - вам нужно сделать ключи доступными для расшифровки того, что вы пытаетесь защитить, и, следовательно, поставить под угрозу безопасность.

Лучше всего быть защищенным, если у вас есть «программа» драйвера (может быть скрипт или что-то еще), которая в интерактивном режиме запрашивает пароль и зависает до тех пор, пока не настанет время для выполнения реальной работы (в данном случае ваш скрипт curl). ) когда водитель может предоставить пароль.

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

Безопасность не легка.


И я второй ответ, упомянутый Теофило Исраэль Вискайно Родриг в комментариях.

0 голосов
/ 23 октября 2011

FTP защищен (или, по крайней мере, должен быть) паролем.Если кто-то достаточно умен, чтобы обойти это и получить доступ к вашему FTP, как вы можете ожидать, что он не сможет получить ваши пароли и для других вещей?

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

0 голосов
/ 23 октября 2011

Вы можете зашифровать файлы на сервере, чтобы их могли расшифровать только некоторые пользователи системы.GPG - конкретный пример, который я могу придумать.Вот несколько ссылок для проверки шифрования файлов GPG (GnuPG):

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

PS - Если вы беспокоитесь о безопасности и фактически используете FTP (вместо SFTP), я бы порекомендовал настроить сервер так, чтобы он разрешал только SFTP-соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...