一般来说,我们建立的PHP网站,都是将连接到数据库的user name 和 password放到一个config.php中的,当然,这个文件名需要变得不容易识别。那么一旦有hacker登陆了你的网站服务器,那么如何让他们找不到网站数据库的username和password呢,或者把他们找到账号和密码的难度增加到最大?
混淆php代码的方式完全没有作用,因为对于define('DB_PASSWORD', '123456');这种结构的混淆完全是扯淡的。那么还有没有其他的什么方法呢? 高手指教下。

解决方案 »

  1.   

    都能黑到你机器了,还去看什么PHP代码啊,直接去把MYSQL下的文件全部复制走就行了。
      

  2.   

    我觉得不用担心,我们设置的密码在数据库内部是用散列函数处理过的,例如MD5散列生成一个一定长度的哈希值。当我们登录输入密码的时候,系统会再次将新输入的密码用MD5散列,将新得到的哈希值与系统存贮的哈希值比较,两者相等时才能登录。所以系统里面是看不到或者说根本不存在“123456”这种明文密码的。
      

  3.   


    关键是在php的网站中,会有一个存放mysql的用户名和密码的文件,这个文件一旦被找到,那不是让别人轻易进入数据库了吗
      

  4.   

    楼主从概念上就是错误的。服务器权限都能获取,服务器某个服务的权限就更不用说了。也许你有自己的理由,说是2台服务器,但那没有意义。2太服务器之间通讯,文件服务器肯定需要与数据库服务器通讯的口令。文件服务器都被人家掌控了。这个口令,无论你怎么放都没有。问题的关键是,服务器安全多出现在什么地方?
    1 服务器开放端口问题,比如你只开放80端口。
    2 数据库访问权限,比如你只允许本地访问或者指定ip访问。并且尽量不要给应用最高权限。
    3 用户可写入的地方的安全性,sql注入,文件上传。
    4 网站管理账户及入口的安全性。。
      

  5.   

    都能黑到你机器了,还去看什么PHP代码啊,直接去把MYSQL下的文件全部复制走就行了。