script.php
的脚本文件的执行权限,可以执行以下命令:,,“bash,chmod x script.php,
“,,3. 如果您使用的是cPanel等控制面板,可以在文件管理器中找到需要取消执行权限的文件或目录,然后修改其权限设置。,,取消脚本的执行权限可能会导致网站功能受到影响,因此在进行此操作时请谨慎。
在网站安全中,对目录的执行权限是非常敏感的,可以写入的目录是不能够拥有脚本的执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,本篇将针对不同服务器环境来介绍如何取消这两个目录的执行权限,当然我们也建议用户其他一些生成纯静态html的目录,拥有可写入权限的也统统去除执行权限,这样系统会更为安全。
在Windows下的IIS环境中取消目录的执行权限
1、打开IIS管理器:找到需要设置的站点。
2、选择目标目录:在站点下找到uploads目录、data目录以及静态html生成目录。
3、设置执行权限:右键点击目录,选择“属性”,在目录属性面板选择执行权限为“无”即可。
4、处理程序映射:对于IIS7,选择站点对应的目录,双击功能试图面板中的“处理程序映射”,在“编辑功能权限……”中,直接去除脚本的执行权限。
在Apache环境下取消目录的执行权限
1、独立主机配置:找到apache的配置文件httpd.conf,通常情况下,该配置文件在apache安装目录下的conf文件夹中,打开httpd.conf文件,找到内容中合适的位置,添加以下配置内容:
<Directory "DIR"> <FilesMatch ".(php|asp|jsp)$"> Deny from all </FilesMatch> </Directory>
DIR为需要限制执行脚本文件的目录。
2、重启Apache:在配置完成后,重启一下apache,配置便生效!。
3、虚拟主机/空间配置:在配置前需要确认你的空间是否支持.htaccess和rewrite,该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果,规则内容如下:
RewriteEngine on RewriteCond % !^$ RewriteRule uploads/(.*).(php)$ – [F] RewriteRule data/(.*).(php)$ – [F] RewriteRule templets/(.*).(php)$ – [F]
针对uploads,data,templets 三个目录做了执行php脚本限制;将如上内容存储至到.htaccess文件中,将该文件存放到你的站点根目录下。
FAQs
1、问:为什么需要取消目录的脚本执行权限?
答:取消目录的脚本执行权限是为了提高网站的安全性,如果一个目录可以被写入,那么它就不应该有脚本执行的权限,以防止恶意代码的执行,DedeCMS系统中的data和uploads目录就是这种情况。
2、问:如何在IIS中取消目录的脚本执行权限?
答:在IIS中,你可以打开站点的属性,找到需要设置的目录,然后在目录属性面板中选择执行权限为“无”,对于IIS7,你可以在处理程序映射中直接去除脚本的执行权限。
步骤 | 操作系统 | 具体操作 |
1 | Windows | 1. 右键点击要取消执行权限的目录。 2. 选择“属性”。 3. 在“安全”标签页中,点击“编辑”。 4. 在“组或用户名”列表中,选择“IUSR”或“Users”,然后取消勾选“执行”权限。 5. 点击“确定”保存更改。 |
2 | Linux/MacOS | 1. 打开终端。 2. 使用cd 命令进入要取消执行权限的目录。 3. 使用chmod 命令取消执行权限,chmod x 文件名 或chmod rwx 文件名 。 4. 如果要取消目录下所有文件的执行权限,可以使用find 命令配合chmod 命令,find . type f exec chmod x {} ; 。 |
3 | 云服务器(如阿里云、腾讯云等) | 1. 登录云服务器管理控制台。 2. 进入文件管理功能。 3. 右键点击要取消执行权限的目录。 4. 选择“权限设置”。 5. 在权限设置页面中,取消勾选“执行”权限。 6. 点击“保存”保存更改。 |
在取消执行权限之前,请确保已经备份了相关数据,以防止误操作导致数据丢失。