Защитете SMTP парола в PHP

Ще използвам класа phpmailer в моя WordPress плъгин, за да поддържам използването на SMTP в моята функция за електронна поща. Безопасно ли е да съхранявате паролата в PHP кода? Не се чувствам 100% комфортно да оставя данните си за вход там. И така, въпросите ми: достатъчно безопасно ли е? Как мога лесно да го направя по-сигурен; трябва ли да го хеширам в база данни или нещо подобно? Знам, че MD5 всъщност не е толкова сигурен, но предполагам, че е по-добре от поставянето на паролата в изходния код?


person janlindso    schedule 13.09.2014    source източник
comment
Това за разпределен плъгин ли е или нещо, което ще използвате само на сайта си?   -  person Machavity♦    schedule 13.09.2014
comment
И в двата случая ще ви трябва парола с обикновен текст.   -  person PeeHaa    schedule 13.09.2014
comment
опитайте да го съхраните в база данни, хеширана с SHA1. по-безопасно е   -  person Sushant    schedule 13.09.2014
comment
Имаше някаква статия от Мартин Фаулър, в която той каза, че можете да шифровате паролата си във вашия изходен код и при изписване има скрипт за декриптиране, който се нуждае от въвеждане на парола, който след това дешифрира паролата.   -  person CBergau    schedule 13.09.2014
comment
@sushant, ако е хеширано, не можете да го предадете на друга услуга за удостоверяване.   -  person doublesharp    schedule 13.09.2014
comment
Също така @sushant дори би било възможно никога да не използвате sha1 за хеширане на пароли (точно като md5)   -  person PeeHaa    schedule 13.09.2014
comment
@Machavity Първо за моя собствена употреба, така че след това може да го съхранявам временно в обикновен текст в моя PHP, когато го използвам. Но може да искам да разпространя приставката по-късно, тъй като я намирам за доста полезна и искам да я споделя с други.   -  person janlindso    schedule 13.09.2014
comment
Като добавим към коментара на @Machavity (sic), ако това е разпределен плъгин, надявам се, че няма да позволявате на всички да използват вашия SMTP акаунт, но да, ако е само на вашия сайт, тогава наистина няма смисъл , освен това не мисля, че дори е възможно.   -  person Lauren K    schedule 13.09.2014


Отговори (2)


По същество не можете - и тук има много публикации, които казват точно това. Можете обаче да го объркате, за да държите опортюнистите далеч. Най-простият начин е да поставите паролата си във външен конфигурационен файл (което ви помага да избегнете очевидни грешки като проверка на паролата си в github). Можете да го шифровате до известна степен, но в един момент трябва да го дешифрирате с някакъв друг уж таен ключ, така че отново сте на изходна позиция.

md5 и sha1 (или всяка друга функция за хеширане) нямат нищо общо с този въпрос; хеш функциите просто не са приложими за този случай на употреба.

person Synchro    schedule 13.09.2014

Тонове сайтове съхраняват пароли в изходния код на PHP. Ако паролата се съхранява в <?php ... ?> тагове, тя може да се счита за сигурна.

Изходният код на PHP се изобразява от двигателя на PHP, преди да бъде изложен, което е необходим компонент за сигурност. Няма известен начин да го прочетете, освен ако самият ви сайт няма уязвимости в сигурността.

източници:

Възможно ли е да видите PHP код на уебсайт?

http://www.webmasterworld.com/forum88/10926.html

Четене на изходния код с PHP

http://www.vodahost.com/vodatalk/mysql-php/15061-php-source-code-php-files.html

person cssyphus    schedule 13.09.2014
comment
Има и други начини за изтичане на чувствителни данни, освен простото четене на източника. Прост пример bugs.php.net/bug.php?id=67206 - person PeeHaa; 13.09.2014