2012-05-29 2 views
1

Я отправляю электронную почту с помощью Perl через Gmail с помощью Email::Send::SMTP::Gmail. Сценарий хранится как send.pl. Я вхожу в него. localhost/send.pl. Я должен ввести свой пароль в свою учетную запись Gmail в этом скрипте Perl, а затем получить доступ к нему из моего браузера.Могу ли я безопасно хранить пароли внутри источника CGI-скрипта?

Есть ли способ, которым любой, кто просматривает этот сайт, может получить мой пароль Gmail?

Мой код:

use strict; 
use warnings; 
use Email::Send::SMTP::Gmail; 
my $mail = Email::Send::SMTP::Gmail->new(
    -smtp => 'gmail.com', 
    -login => '[email protected]', 
    -pass => 'whatever_pass' 
); 
$mail->send(
    -to   => '[email protected]', 
    -subject  => 'Hello!', 
    -charset  => 'KOI8-R', 
    -verbose  => '1', 
    -body  => 'Just testing it', 
    -attachments => 'full_path_to_file' 
); 
$mail->bye; 
+3

Сохранение вашего пароля в текстовом виде в файле, который читается в Интернете, кажется очень плохим решением. – TLP

+0

user1092042, я вижу, что вы добавили новый код к вопросу, который превращает его в совершенно другую тему. Не делайте этого, каждая тема в Stack Overflow должна стоять одна, иначе этот сайт не работает. Я вернул вопрос, как это было раньше. Ваш текст по-прежнему существует в http://stackoverflow.com/revisions/10796356/4 - скопируйте этот текст и [откройте новый вопрос] (http://stackoverflow.com/questions/ask) с ним. – daxim

ответ

6

Пока сервер остается правильно настроен, нет, ваш пароль безопасен.

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

+0

Любая идея, как я буду читать пароль из файла конфигурации. Есть ли учебники, объясняющие, как это сделать. – user1092042

+0

Используйте [Config :: Any] (https://metacpan.org/module/Config::Any) или один из конфигурационных модулей, перечисленных в его зависимостях. – Quentin

+0

Я в настоящее время использую код, обновленный в моем вопросе. Однако он просто печатает ссылку на массив, а не сам пароль.PLease взгляните на мой отредактированный вопрос – user1092042

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