关于服务器的安全有关问题
程序员文章站
2022-05-15 12:06:50
...
关于服务器的安全问题
首先想问下,在无法登录别人服务器的情况下,如何远程获取到别人服务器的文件?
例如一个项目的整个目录文件。。 如果别人有对这个项目进行打包,这样如果知道路径和包名就可以下载,否则不可能?
另外,如何防止数据库用户名和密码的PHP配置文件不小心泄漏呢,如果没办法做到,是不是要加密? 还是限制该数据库的远征登录?
想了解这些服务器安全的知识,应该看哪些书,求推荐。。谢谢
------解决思路----------------------
首先想问下,在无法登录别人服务器的情况下,如何远程获取到别人服务器的文件?
不能,除非對方提供不用驗證的下載方法
例如一个项目的整个目录文件。。 如果别人有对这个项目进行打包,这样如果知道路径和包名就可以下载,否则不可能?
知道路徑和包名並不一定就可以下載,因為可以在服務器做rewrite的,顯示的路徑並不是文件存放的真實路徑。而文件是可以存放在域名以外的目錄,那麼通過http方式就下載不到了。
另外,如何防止数据库用户名和密码的PHP配置文件不小心泄漏呢,如果没办法做到,是不是要加密? 还是限制该数据库的远征登录?
不小心泄漏是人的問題吧,這每辦法避免,最好不要太多人知道用戶名和密碼。
可以把數據庫的account和密碼寫在apache2,使用apache mod_env模块保存php程序敏感信息。
SetEnv dbaccount root
SetEnv dbpass 123456
可參考http://blog.csdn.net/fdipzone/article/details/9388959
想了解这些服务器安全的知识,应该看哪些书,求推荐。。谢谢
多看技術博客和論壇,搜索相關文章。
------解决思路----------------------
关于把用户名与口令设置为环境变量的做法,与 fdipzone 商榷
如果把 用户名与口令 写死在数据库操作类的连接语句中,那么只有在看到数据库操作类的源代码时才能看到 用户名与口令
而数据库操作类是可以放在文件系统的任意地方的,至少找到他是有一定的难度
但如果作为环境变量的话,只需写个小程序就暴露无遗了(print_r($_SERVER))
况且 httpd.conf 或 .htaccess 都存放在固定位置,很容易就找到了
------解决思路----------------------
当服务器的环境是正常的情况 文件也没有服务器环境无法解析的后缀名 比如 你不要把 PHP 弄成 php.txt 那么这些文件是无法下载的,如果代码有问题 可能会显示出源码.
如果你把整个网站压缩到一个rar 文件 而且又暴露在了互联网上,比如 http://xxxx/test.rar 那么别人一旦知道路径也肯定是可以下载的,但是多数时候如果你真的要这么做那么也要记得给你的压缩包加上密码
这些东西还没有要到出书的必要,基本上属于一种经验吧,要出书的东西还在后面...
首先想问下,在无法登录别人服务器的情况下,如何远程获取到别人服务器的文件?
例如一个项目的整个目录文件。。 如果别人有对这个项目进行打包,这样如果知道路径和包名就可以下载,否则不可能?
另外,如何防止数据库用户名和密码的PHP配置文件不小心泄漏呢,如果没办法做到,是不是要加密? 还是限制该数据库的远征登录?
想了解这些服务器安全的知识,应该看哪些书,求推荐。。谢谢
------解决思路----------------------
首先想问下,在无法登录别人服务器的情况下,如何远程获取到别人服务器的文件?
不能,除非對方提供不用驗證的下載方法
例如一个项目的整个目录文件。。 如果别人有对这个项目进行打包,这样如果知道路径和包名就可以下载,否则不可能?
知道路徑和包名並不一定就可以下載,因為可以在服務器做rewrite的,顯示的路徑並不是文件存放的真實路徑。而文件是可以存放在域名以外的目錄,那麼通過http方式就下載不到了。
另外,如何防止数据库用户名和密码的PHP配置文件不小心泄漏呢,如果没办法做到,是不是要加密? 还是限制该数据库的远征登录?
不小心泄漏是人的問題吧,這每辦法避免,最好不要太多人知道用戶名和密碼。
可以把數據庫的account和密碼寫在apache2,使用apache mod_env模块保存php程序敏感信息。
SetEnv dbaccount root
SetEnv dbpass 123456
可參考http://blog.csdn.net/fdipzone/article/details/9388959
想了解这些服务器安全的知识,应该看哪些书,求推荐。。谢谢
多看技術博客和論壇,搜索相關文章。
------解决思路----------------------
关于把用户名与口令设置为环境变量的做法,与 fdipzone 商榷
如果把 用户名与口令 写死在数据库操作类的连接语句中,那么只有在看到数据库操作类的源代码时才能看到 用户名与口令
而数据库操作类是可以放在文件系统的任意地方的,至少找到他是有一定的难度
但如果作为环境变量的话,只需写个小程序就暴露无遗了(print_r($_SERVER))
况且 httpd.conf 或 .htaccess 都存放在固定位置,很容易就找到了
------解决思路----------------------
当服务器的环境是正常的情况 文件也没有服务器环境无法解析的后缀名 比如 你不要把 PHP 弄成 php.txt 那么这些文件是无法下载的,如果代码有问题 可能会显示出源码.
如果你把整个网站压缩到一个rar 文件 而且又暴露在了互联网上,比如 http://xxxx/test.rar 那么别人一旦知道路径也肯定是可以下载的,但是多数时候如果你真的要这么做那么也要记得给你的压缩包加上密码
这些东西还没有要到出书的必要,基本上属于一种经验吧,要出书的东西还在后面...
相关文章
相关视频
上一篇: 正则表达式字符串取反 怎么弄?
下一篇: php利用正则获取指定位置内容