
正文
php数据库密码泄露 php数据库用户名和密码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
ecshop商城的sql数据库地址和密码泄露给坏人会导致什么严重后果?(后台和ftp密码无泄露情况下)
关于ECSHOP网站安全性的几点建议(ecmoban整理)
互联网的安全大家都比较关心,而大家又都是用ECSHOP网店程序来做生意的,安全性比起企业网更加重要。
目前网络黑客、木马,比较泛滥的今天如何才能通过系统本身的安全性设置来防止被入侵,下面列出几点意见欢迎大家交流。
1,不要购买或者下载来历不明的模板、插件。
来历不明的模板或插件及有可能带有后门程序,使用后被人利用后门入侵网店,盗取重要信息,以及被长期监控。或将您的订单会员资料出售给同行,后果相当严重。
2,找人开发功能或者修改模板的时候,不要将服务器密码等重要资料交给对方
将FTP,或者服务器密码交给别人是非常危险的事情,一定要对对方的资质与信用进行评估,因为有人会通过这样的方式要到密码后进行盗窃或入侵。合作结束后一定要修改掉服务器或者FTP密码
3,后台路径修改一下更安全。
从ECSHOP271版本开始,可以自定义后台路径,修改方法也比较容易,比如我要将 /admin 改成 /ecmoban
首先进FTP中将admin目录改成ecmoban
其次打开 data/config.php 这个程序,将所有“admin” 字段 改成 “ecmoban”
$admin_dir = "admin"; ==》 $admin_dir = "ecmoban";
define('ADMIN_PATH','admin'); ==》 define('ADMIN_PATH',ecmoban);
这样就行了
4,后台主管理员的用户名和密码进行修改,默认的其他管理员删除
建议将管理员账号改成中文,比如原来是admin 改成“模板堂”
然后密码改成15位以上,数字英文和符号混合。
5,检查模板文件的安全性
因为ecshop的模板机制是 dwt+lbi文件运行。而如果dwt文件可以直接访问对模板的安全性是不够的,容易被人直接下载你的模板。我们可以从浏览器里输入
ecmoban/index.dwt 来测试是不是可以打开,注意这里域名换你自己的,如果可以打开页面则说明有问题。默认情况下是403错误。
如果可以打开(不是403错误,看到的是带一点点乱码的页面)
那么你可以在后台 商店设置-URL重写里 勾选简单或者复杂重写。因为伪静态的规则对于模板也有一定的保护作用,再试试 ecmoban/index.dwt 应该就打不开了。
6,在后台商店设置里 限制附件上传的大小
后台商店设置-基本设置里 有一个附件上传大小的设置,建议将默认值改成0
7,删除TITLE部分的powered by ecshop字样
因为通过搜索这段话可以搜索出所有ECshop的网店,容易被熟悉EC的人入侵,不过做到前几步的话也就不怕了。
打开includes下 lbi_main.php这个文件
$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';
改成
$page_title = $GLOBALS['_CFG']['shop_title'] ;
PS:为了感谢ECSHOP系统建议保留底部版权。
相关问答
Q1: thinkphp数据库配置信息加密怎么处理
今天有一个朋友问我thinkphp的这个问题php数据库密码泄露,刚好百度搜索到你这个问题。已经解决。就帮你解答一下这个问题。
首先我尝试在入口文件封装一个加密函数,我用php des 加密,然后在配置文件config.php调用。然后在控制器里面使用,打印配置文件:dump(C());//输出所有的配置文件信息, 虽然能看到正确的数据用户名和密码,但是会报错。失败告终。
我说一下我的解决方法。很简单。
1:把配置文件里面的用户名,密码,数据库名瞎写一写,别人看到你的代码的配置文件看到的就是错误的数据库名和密码php数据库密码泄露了。比如:
'DB_NAME' = 'SB', // 数据库名
'DB_USER' = 'ni_da_ye', // 用户名
'DB_PWD' = 'da_da_bi', // 密码
在每个控制器文件里面。加入一段代码。
比如你的IndexController.class.php文件。加下面的代码。
/* 初始化方法*/
public function __construct(){
parent::__construct();
C("DB_NAME",decrypt('712349721937491237'));//数据库名,
C('DB_USER',decrypt('712349721937491237'));//用户名
C('DB_PWD',decrypt('712349721937491237'));//密码
}
看清楚了吗?
decrypt()这个函数就是我封装的一个加密函数,亲自测试没有错误。可能会牺牲一些性能。但是保证了用户名,密码,数据库名没有泄露。甚至你都可以把数据库连接地址也加密一下。希望能帮到你。
PHP加密函数可以考虑用des,aes这些可逆加密。别用什么md4,md5.
Q2: php连接数据库密码安全的问题
不需要,因为你可做服务端及客户端的关联,修改其一就可了,
Q3: 为什么php的 sql.safe
CentOS + Apache + Tomcat +
MySQL为主,另外装了PHP以提供灵活应用。装完PHP我放了个phpMyAdmin,一切正常,之后又放了个Discuz
7,结果就大跌眼镜了:我明明填写了正确的数据库用户名与密码,它老提示我连接被拒绝,mysql_error报的信息大概是这样子:Access
denied for 'root'@'localhost', using password NO。连接被拒就算了,还非说我没有用密码?
想想phpMyAdmin也是PHP写的,都能正常连接,我实在是想不通这个问题,不知何从。后来网上搜一搜,国内没见有人提类似问题,国内的Access Deny基本都是mysql用户权限有问题;还好我在英文网站上找到了答案:原来是sql.safe_mode惹的祸,在php.ini里找到此项,将其置为Off就好了。附PHPDig里关于sql.safe_mode的说明:
写道
If sql.safe_mode
is enabled, mysql_connect() and mysql_pconnect() ignore any arguments
passed to them. Instead, PHP attempts to connect using the following
details:
* host: local host
* user: the user PHP runs as
* password: an empty string ("")
我想只所以称之为sql.safe_mode,就是启用它之后,PHP源码里不会出现数据库用户名与密码,这样源码外泄也不会暴露数据库用户信息。
Q4: php连接数据库的,密码安全性
这个是不会的,只要其它人没有权限访问你的文件就可以,例如从服务器,FTP,网站后台文件浏览之类的,只从前台界面是拿不到php里面的变量(不包括网站漏洞)。
php数据库密码泄露的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数据库用户名和密码、php数据库密码泄露的信息别忘了在本站进行查找喔。







