域名中直接访问applicatioon和system目录时怎么报服务器信息
本帖最后由 fltn03 于 2012-4-28 10:26 编辑最近做完项目,用工具扫描后发现项目中存在不少的安全漏洞.其中之一便是如题所述的问题.
相信使用CI框架的部分开发者也有遇到过这样的问题:
当在地址栏中输入错误的控制器或方法时,系统自动转向CI的404页面.但是当地址栏中输入的信息存在但不允许访问的目录时,就会报服务器信息,这样服务器采用什么环境和配置信息就会暴露出来引起安全问题。
例如:(假设我现在有一个CI项目,域名为www.example.com),当我访问http://www.example.com/appllication或http://www.example.com/system时,就会暴露项目的服务器信息:
-------------------------------------------------------------------------------------------------------------------------------
Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
www.example.com
04/28/12 10:15:09
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
-------------------------------------------------------------------------------------------------------------------------------
请问如何处理,能显示CI的404页面呢?
通过 rewrite 将非媒体类文件(如css js 等目录)的路径都交由 index.php处理 很简单,把 application 和 system 目录放到非 web 目录即可,手册也有提到这个方法。 暗夜星辰 发表于 2012-4-28 10:38 static/image/common/back.gif
通过 rewrite 将非媒体类文件(如css js 等目录)的路径都交由 index.php处理
这是我项目根目录下的.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|css|flash|bat|log|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1
</IfModule>
这个算是按照你的办法进行了Rewrite了吧.但结果还是一样.难道是我的.htaccess内容写的不对?
请指正!谢谢! Hex 发表于 2012-4-28 12:09 static/image/common/back.gif
很简单,把 application 和 system 目录放到非 web 目录即可,手册也有提到这个方法。 ...
1.把这两个目录放到非web目录,那域名指向的根目录是哪了?
2.手册中有提到?是新版的吗?没找到地址!
能说的详细点吗?
谢谢Hex! HEX的方法最简单了。一般你在开发的时候system是被单独放在一个地方的,这样也比较安全的。 fltn03 发表于 2012-4-28 13:23 static/image/common/back.gif
1.把这两个目录放到非web目录,那域名指向的根目录是哪了?
2.手册中有提到?是新版的吗?没找到地址!
能说的 ...
你看下index.php 把相关路径改一下就可以了. fltn03 发表于 2012-4-28 13:23 static/image/common/back.gif
1.把这两个目录放到非web目录,那域名指向的根目录是哪了?
2.手册中有提到?是新版的吗?没找到地址!
能说的 ...
看这两个:
http://codeigniter.org.cn/user_guide/installation/index.html
http://codeigniter.org.cn/user_guide/general/managing_apps.html
CI 其实只需要 index.php 就可以工作,application 和 system 只要放到服务器上即可,不用放到 www root 下。
页:
[1]