Автоматическое хранение логина и пароля - PullRequest
2 голосов
/ 28 июля 2010

Я написал простой PHP-скрипт для входа на сайт моего оператора мобильной связи, проверки баланса и отправки мне электронного письма, если оно слишком мало. Я поставил скрипт на удаленном сервере.

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

$user="foo";
$password="blah";

Есть ли более безопасный способ?

Ответы [ 4 ]

1 голос
/ 28 июля 2010

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

  1. System Smart может войти в систему без необходимости что-либо делать.
  2. Mr. Evil имеет доступ к источнику System Smart.
  3. System Smart знает что делать чтобы войти в систему как вы. (С первого пункта.)
  4. Mr. Evil знает то, что знает Systems Smart. (Со второго пункта.)
  5. Mr. Evil знает что делать чтобы войти как вы. (Из третьего и четвертого пунктов.)

Вывод: Этот сценарий не безопасный.

Это доказательство от противоречия, если вы начнете с гипотезы, что сценарий безопасен. Обновление: Но если вы хотите просто сделать это сложнее, чем простой текст, то можете использовать симметричный ключ.

1 голос
/ 28 июля 2010

Сценарий имеет возможность входа в систему вашего провайдера без присмотра.

Это означает, что любой, кто управляет сценарием, также будет иметь эту возможность, которую можно использовать при запуске сценария.

НичегоВы можете сделать это предотвратит.Единственное решение - либо жить с потенциальной компрометацией вашего пароля, либо размещать скрипт только на сервере, которым вы управляете.

1 голос
/ 28 июля 2010

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

0 голосов
/ 28 июля 2010

Если вы хотите переборщить его, вы можете настроить его таким образом, чтобы ваш пароль хранился в базе данных mysql, зашифрованной с использованием aes_encrpyt, а затем вы создали другой скрипт на другом сервере, который выполняет вызовы на серверваш пароль, запрашивая пароль, предоставляя соль для использования с функцией aes_decrypt.

...