首先想问下,在无法登录别人服务器的情况下,如何远程获取到别人服务器的文件? 
不能,除非對方提供不用驗證的下載方法例如一个项目的整个目录文件。。 如果别人有对这个项目进行打包,这样如果知道路径和包名就可以下载,否则不可能?
知道路徑和包名並不一定就可以下載,因為可以在服務器做rewrite的,顯示的路徑並不是文件存放的真實路徑。而文件是可以存放在域名以外的目錄,那麼通過http方式就下載不到了。另外,如何防止数据库用户名和密码的PHP配置文件不小心泄漏呢,如果没办法做到,是不是要加密? 还是限制该数据库的远征登录?
不小心泄漏是人的問題吧,這每辦法避免,最好不要太多人知道用戶名和密碼。
可以把數據庫的account和密碼寫在apache2,使用apache mod_env模块保存php程序敏感信息。
SetEnv dbaccount root
SetEnv dbpass 123456
可參考http://blog.csdn.net/fdipzone/article/details/9388959
想了解这些服务器安全的知识,应该看哪些书,求推荐。。谢谢
多看技術博客和論壇,搜索相關文章。

解决方案 »

  1.   

    关于把用户名与口令设置为环境变量的做法,与 fdipzone 商榷如果把 用户名与口令 写死在数据库操作类的连接语句中,那么只有在看到数据库操作类的源代码时才能看到 用户名与口令
    而数据库操作类是可以放在文件系统的任意地方的,至少找到他是有一定的难度但如果作为环境变量的话,只需写个小程序就暴露无遗了(print_r($_SERVER))
    况且 httpd.conf 或 .htaccess 都存放在固定位置,很容易就找到了
      

  2.   


    是我沒有講清楚,SetEnv 是加密後的口令和密碼,程序中再解密。
    只是加大找到的難度,如果對方已經能在服務器上讀取和寫入文件。那基本上等於被黑了。
    而且用 SetEnv 在cli模式下用不了,這個還要看具體情況。版主有什麼好辦法嗎?
      

  3.   


    版主您好,请问服务上面的PHP文件能够下载下来吗,如果可以的话,配置 在PHP文件里会不会很不安全呢
    另外print_r($_SERVER) 应该是能够向服务器上面传文件的前提了,我的问题的假设前提还没到这一步的哦
      

  4.   

    正常情况下是不能下载的
    但是你必须注意到:你是如何将php程序放到服务器中的?同样的手段不就能查看和下载了吗?
      

  5.   

    当服务器的环境是正常的情况 文件也没有服务器环境无法解析的后缀名 比如 你不要把 PHP 弄成 php.txt 那么这些文件是无法下载的,如果代码有问题 可能会显示出源码.
    如果你把整个网站压缩到一个rar 文件 而且又暴露在了互联网上,比如 http://xxxx/test.rar 那么别人一旦知道路径也肯定是可以下载的,但是多数时候如果你真的要这么做那么也要记得给你的压缩包加上密码这些东西还没有要到出书的必要,基本上属于一种经验吧,要出书的东西还在后面...
      

  6.   


    我自己做过测试,确实好像是这样的,谢谢假设想获取到别人服务器上面的PHP文件,
      

  7.   

    我自己做过测试,确实好像是这样的,谢谢
    假设想获取到别人服务器上面的PHP文件,一般会怎么做,前提有哪些。我想知道会不会轻易被别人拿到
      

  8.   


    我自己做过测试,确实好像是这样的,谢谢
    假设想获取到别人服务器上面的PHP文件,一般会怎么做,前提有哪些。我想知道会不会轻易被别人拿到换个思路 如果你觉得会比较容易 那么你觉得我们还会继续使用这门语言吗?放心吧