欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

把管理员密码(加密后)直接写在 PHP 文件里,安全性有所提升吗?

程序员文章站 2024-04-05 12:07:54
...
既然把管理员的密码存在数据库里有遭遇爆库的危险,那我把管理员的密码加密后当作一个常量直接写在 PHP 文件里,安全性会得到提升吗?
不考虑旁注提权之后查看这个 PHP 文件,因为如果他/她能够查看 PHP 文件里的代码,那么他/她肯定也能看到 config.php 里保存的数据库密码。

2014-06-15 0:42 补充:
这里所说的防止被爆库是指降低被爆出管理员密码的概率,不考虑数据库中存在的其他密码(或者是这个站点不存在其他密码,只有管理员可以登录后台)

回复内容:

既然把管理员的密码存在数据库里有遭遇爆库的危险,那我把管理员的密码加密后当作一个常量直接写在 PHP 文件里,安全性会得到提升吗?
不考虑旁注提权之后查看这个 PHP 文件,因为如果他/她能够查看 PHP 文件里的代码,那么他/她肯定也能看到 config.php 里保存的数据库密码。


2014-06-15 0:42 补充:
这里所说的防止被爆库是指降低被爆出管理员密码的概率,不考虑数据库中存在的其他密码(或者是这个站点不存在其他密码,只有管理员可以登录后台)

管理员的密码存放在哪里都一样。
管理员密码即便被爆了出来也不一定能拿WebShell,看服务器安全方面做得如何。
PHP是可以访问数据库的,也可以对数据库执行一些操作,网站你不用数据库难道纯静态吗?开玩笑呢哈哈~ 只要爆了SQL、XSS等漏洞,那些黑客就有千百种奇淫技巧去想办法拿到WebShell,只要拿到WebShell了,你那密码放在那里都一样没有区别的。
提权的时候你后台的密码一般可以用来参考做弱口令~ 但是拿来做提权可能就说明了这个密码对题主来说通用性太强了。。。
网站的安全要做好,服务器的安全更要做好。

--------------------------------补充---------------------------------
没事给自己的代码做做代码审计,把服务器安全做好点。大部分能杜绝掉黑客的入侵,如果是放在虚拟主机上边的话。我只能说祝你好运,千百个网站放一块另一个被爆菊被提权跨到你哪儿也是无济于事~

看到你都要写死到文件了,不如来个障眼法,密码登录永远都是错误,只有特定的才能触发,比如get参数。

我觉得写在哪里都是一样的,因为现成密码都是按照一定算法加密的,即使得到了密码也不一定能还原出真实密码,如果算法强度够的话。所以说获得加密密码是没有什么意义的

所以说,安全不安全主要还不在密码这一块。抛开服务器配置问题和软件bug导致的漏洞,程序里的漏洞主要还是sql注入和xss。只要做好输入的过滤一般问题不大。


照楼主补充所说,密码强度足够的情况下是暴不出来的。

密码的保护和防止爆库完全是两个不同的问题,解决了一个并不能自动解决另外一个。
爆库的主要原因是SQL注入和XSS,并不是密码泄漏,只要你的PHP本身能访问数据库,而且程序中又有拼接SQL之类的漏洞,就算是密码没有泄漏一样会被爆。

以被脱裤为前提保护网站管理员密码?

保护入口、限制重试,还有防止不要被脱裤更加重要吧

其实我最近玩google authenticator 体验不错,稍作努力就可以搞定两步式动态密码验证,这里有网页版的实现:http://blog.tinisles.com/2011/10/google-authenticator-one-time-password-algorithm-in-javascript/

我会加密写在环境变量里边

暴力破解的去看下,放哪里都是一样的。
楼主说的加密应该是2中情况,1)加密成二进制无法反编译的,2)md5之类的加密
两种都是无法承受暴力破解的,加密成二进制反编译的,可以防止程序被盗,锁定,但是加密成md5的无防盗。

相关标签: php 安全