搜索
首页后端开发php教程dedeCMS(织梦)网站服务器目录安全设置经验分享_PHP教程

现在的互联网环境越来越严峻,安全,一直是程序开发者及站长的一个不可忽视的问题,如何选择一个易用、安全的程序,如何搭建一个安全的服务器环境,一直是广大站长迫切希望了解的,本篇结合服务器及DedeCms来进行一个安全使用的环境配置。

1、目录权限

我们不建议用户把栏目目录设置在根目录,原因是这样进行安全设置会十分的麻烦,在默认的情况下,安装完成后,目录设置如下:

(1) data、templets、uploads、a或5.3的html目录,设置可读写,不可执行的权限;

(2) 不需要专题的,建议删除special 目录,需要可以在生成HTML后,删除special/index.php 然后把这目录设置为可读写,不可执行的权限;

(3) include、member、plus、后台管理目录设置为可执行脚本,可读,但不可写入(安装了附加模块的,book、ask、company、group 目录同样如此设置)。

2、其它需注意问题

(1) 虽然对install 目录已经进行了严格处理,但为了安全起见,我们依然建议把它删除;

(2) 不要对网站直接使用MySQL root用户的权限,给每个网站设置独立的MySQL用户帐号,许可权限为:

SELECT, INSERT , UPDATE , DELETE
CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES

由于dede并没有任何地方使用存储过程,因此务必禁用FILE、EXECUTE 等执行存储过程或文件操作的权限。

3、如何设置目录的权限?

对于会用Linux 的用户,相信大多数都已经懂得这些东西,IIS用户,请看下图:

3.1 设置目录为只读权限

首先复制下权限

设置目录为只读权限

3.2 设置目录不允许执行脚本

此外还需要注意问题是,不管IIS还是Apache都不要把.php和.inc文件加入mime中,这样系统会禁止下载这些文件。

4、Apache站点安全设置

如果是Windows2003下,可以对Apache进行如下操作:

4.1 在计算机管理里的本地用户和组里面创建一个帐户,例如:DedeApache,密码设置为DedeApachePWD,加入guests组(如果出现问题,可以赋予user权限);

4.2 打开开始->管理工具->本地安全策略,在“用户权限分配”中选择“作为服务登陆”,添加DedeApache用户;

4.3 计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查找选择DedeApache,输入密码DedeApachePWD,然后点确定(这个时候apache还不能正常启动,一般情况肯定会报错:Apache2.2 服务因1 (0x1) 服务性错误而停止。);

4.4 赋予apache安装目录(比如:D:/apache2.2)以及web目录(比如D:/wwwroot)DedeApache帐号的可读写权限,去除各磁盘根目录除administror与system以外的所有权限,赋予DedeApache安装目录所在的磁盘根目录apache帐户的可读取列目录权限

我们在站点配置中可以添加如下内容:

<Directory "D:\dedecms\www\uploads"> 
<FilesMatch ".php"> 
Order Allow,Deny 
Deny from all 
</FilesMatch> 
</Directory> 
<Directory "D:\dedecms\www\data"> 
<FilesMatch ".php"> 
Order Allow,Deny 
Deny from all 
</FilesMatch> 
</Directory> 
<Directory "D:\dedecms\www\templets"> 
<FilesMatch ".php"> 
Order Allow,Deny 
Deny from all 
</FilesMatch> 
</Directory> 
<Directory "D:\dedecms\www\a"> 
<FilesMatch ".php"> 
Order Allow,Deny 
Deny from all 
</FilesMatch> 
</Directory>

这里对应就取消了对应目录的脚本执行权限。

5、data目录路径更改

另外在DedeCMS V5.7中用户也可以设定data目录到上一级非web访问目录,基本操作如下:

5.1 将data目录移动到上一级目录中,这里直接剪切过去就可以了;

5.2 配置include/common.inc.php中DEDEDATA文件

define('DEDEDATA', DEDEROOT.'/data');

可以改成类如:

define('DEDEDATA', DEDEROOT.'/../../data');

5.3 后台设置模板缓存路径

您可能感兴趣的文章

  • 大流量网站该如何实现优化服务器、静态化、数据库优化、负载均衡以实现高负载
  • dedeCMS织梦留言板调用网站head的方法
  • 如何增强Linux和Unix服务器系统安全性
  • Xdebug 的作用及其安装配置详细说明
  • B2C网站的八个设计细节
  • mysql服务器主从数据库同步配置
  • 如何查看同一服务器上挂有多少个网站
  • dedeCMS中提示DedeTag Engine Create File False的错误的解决办法

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/764161.htmlTechArticle现在的互联网环境越来越严峻,安全,一直是程序开发者及站长的一个不可忽视的问题,如何选择一个易用、安全的程序,如何搭建一个安...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您如何防止与会议有关的跨站点脚本(XSS)攻击?您如何防止与会议有关的跨站点脚本(XSS)攻击?Apr 23, 2025 am 12:16 AM

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

您如何优化PHP会话性能?您如何优化PHP会话性能?Apr 23, 2025 am 12:13 AM

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

什么是session.gc_maxlifetime配置设置?什么是session.gc_maxlifetime配置设置?Apr 23, 2025 am 12:10 AM

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

您如何在PHP中配置会话名?您如何在PHP中配置会话名?Apr 23, 2025 am 12:08 AM

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。

您应该多久再生一次会话ID?您应该多久再生一次会话ID?Apr 23, 2025 am 12:03 AM

会话ID应在登录时、敏感操作前和每30分钟定期重新生成。1.登录时重新生成会话ID可防会话固定攻击。2.敏感操作前重新生成提高安全性。3.定期重新生成降低长期利用风险,但需权衡用户体验。

如何在PHP中设置会话cookie参数?如何在PHP中设置会话cookie参数?Apr 22, 2025 pm 05:33 PM

在PHP中设置会话cookie参数可以通过session_set_cookie_params()函数实现。1)使用该函数设置参数,如过期时间、路径、域名、安全标志等;2)调用session_start()使参数生效;3)根据需求动态调整参数,如用户登录状态;4)注意设置secure和httponly标志以提升安全性。

在PHP中使用会议的主要目的是什么?在PHP中使用会议的主要目的是什么?Apr 22, 2025 pm 05:25 PM

在PHP中使用会话的主要目的是维护用户在不同页面之间的状态。1)会话通过session_start()函数启动,创建唯一会话ID并存储在用户cookie中。2)会话数据保存在服务器上,允许在不同请求间传递数据,如登录状态和购物车内容。

您如何在子域中分享会议?您如何在子域中分享会议?Apr 22, 2025 pm 05:21 PM

如何在子域名间共享会话?通过设置通用域名的会话cookie实现。1.在服务器端设置会话cookie的域为.example.com。2.选择合适的会话存储方式,如内存、数据库或分布式缓存。3.通过cookie传递会话ID,服务器根据ID检索和更新会话数据。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)