上传文件目录data/upload(其它目录同理) 为了防止传入php文件并被执行,可以设置该目录禁止访问php文件

Apache

Nginx

  1. 在配置里设置,注意在引用php配置之前设置

    location ~ ^/data/upload/.*.(php|php5)?$ { denydeny all; } } 需要写在location ~ \.php(.*)$ {之前,如:

		location ~ ^/data/upload/.*.(php|php5)?$ {
			deny all;
		}
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
  1. BT宝塔系统里设置方法,注意在引用php配置之前设置

IIS

1. iis6.0设置相关目录禁止执行脚本方法

第1步:远程连接到Windows服务器,在我的电脑图标上右键选择管理,在打开的计算机管理程序左侧找到Internet信息服务管理器并单击打开。 电脑互助网注:或是直接打开Windows控制面板,并在打开的控制面板中找到管理工具下的“Internet信息服务”,双击即可打开。

第2步:找到自己需要设置网站的相关目录(如uploads目录),在此目录中右键选择属性,在属性窗口目录选项卡中的“执行权限”中设置成无并确定即可生效。

第3步:此时在uploads目录中所有有执行权限的文件均无法执行了。

2. iis7.0设置相关目录禁止执行脚本方法

第1步:类似IIS6.0同样的方法打开iis,在网站目录中找到需要禁止执行的目录并选中,然后双击控制面板中的“处理程序映射”。

第2步:在右侧找到并单击“编辑功能权限”此项,在打开的编辑功能权限小窗口中,把“脚本”前面的勾去掉并确定。

第3步:完成之后,在网站相关目录设置的有关php的可执行文件均无法再执行了。