dedecms程序六个安全措施WEB安全

时间:2023年04月28日

/

来源:LosHearts

/

编辑:本站小编

收藏本文

下载本文

下面是小编给大家带来关于dedecms程序六个安全措施WEB安全,本文共4篇,一起来看看吧,希望对您有所帮助。本文原稿由网友“LosHearts”提供。

篇1:dedecms程序六个安全措施WEB安全

近期,有部分无聊人士喜欢利用0day 找到程序的漏洞上传流量攻击脚本,让人很头疼,目前发现的99%是dedecms程序漏洞,如果您正在使用dedecms程序,请看下面的几个步骤。

1.在dedecms的后台更新补丁,尽可能升级为最新版本。

2.data、templets、uploads、install这几个目录去掉写的权限 ,

3.如果只是使用文章系统并没有使用会员功能,则强推推荐:关闭会员功能、关闭新会员注册、直接删除member目录或改名。

4.用dedecms后台的“系统”中的文件校验和病毒扫描功能 查杀病毒木马。

5.检查有无/data/cache/t.php 、/data/cache/x.php和/plus/index.php 这些木马文件,有的话则应立即删除。

6.重点查看/plus/config_s.php 此为dedecms里面的流量攻击脚本

篇2:DedeCMS 安全设置 禁止PHP执行权限WEB安全

使用.htaccess禁止php执行

RewriteEngineonRewriteCond%!^$RewriteRuleuploads/(.*).(php)$–[F]RewriteRuledata/(.*).(php)$–[F]RewriteRuletemplets/(.*).(php)$–[F]RewriteRulezkzy/(.*).(php)$–[F]RewriteRulezktk/(.*).(php)$–[F]RewriteRulexxff/(.*).(php)$–[F]RewriteRulexlogo/(.*).(php)$–[F]RewriteRulestyle/(.*).(php)$–[F]RewriteRulenews/(.*).(php)$–[F]RewriteRuleimgcss/(.*).(php)$–[F]RewriteRuleimages/(.*).(php)$–[F]RewriteRuledyimg/(.*).(php)$–[F]RewriteRulebkbd/(.*).(php)$–[F]RewriteRulea/(.*).(php)$–[F]RewriteRuleinclude/(.*).(php)$–[F]RewriteRuledede/(.*).(php)$–[F]

篇3:Linux下PhpMyAdmin程序目录的安全管理WEB安全

在Linux下开发Web程序,现在很流行的开发方法为:用PHP开发Web程序,用Apache做Web Server,Mysql充当后台管理数据库,这种组合使得开发Web程序简单、安全、效率高。由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面管理工具,因此使用起来有点困难。现在有了一套由php开发爱好者写的管理Linux下数据库的程序,phpMyAdmin可极好的解决使用的易用性问题。PhpMyAdmin对管理Linux下的数据库行之有效,用户可以通过web浏览器新建删除数据库,增加、删除、修改表结构和表数据,还可以通过表单形式提交查询语句,返回数据结果。因此,现在很多的Linux服务器都使用phpMyAdmin管理数据库。

PhpMyAdmin是一套放在服务器端的通过浏览器界面管理的程序,因此,确保其目录安全性十分重要,否则,将导致数据被盗取甚至遭到恶意破坏。下面将详细讲述一般的防范措施。

一、修改phpMyAdmin目录名:

在不修改目录名前,其他人很容易洞察该目录名,造成安全隐患。如,假设一台Linux主机的域名为:www.test.com,那么不修改目录名的情况下,在地址栏中输入:www.test.com/phpMyAdmin/ 就将进入phpMyAdmin管理程序。因此如果将phpMyAdmin目录改名为一个别人不易知道的目录,如mynameadmin,这样,你在管理自己的数据库时,只要键入:www.test.com/mynameadmin/ 就可以通过浏览器管理数据库了。(注:下面仍将使用phpMyAdmin目录名,如果目录名已换,只需把phpMyAdmin改名为新的目录名即可。)

二、对phpMyAdmin目录加用户身份验证:

这是很多网站需要用户验证时普遍使用的方法,这样当用户第一次浏览进入该目录时,都将出现一个提示窗口,提示用户输入用户名和密码验证,其是通过使用Apache Server的标准 mod_auth模块实现的,具体操作方法如下:

1、VI编辑Apache Server配置文件,确保文件中如下两句话没有加注释,如果这两句话前有“#”符号,去掉“#”号。

DocumentRoot /data/web/apache/public/htdocs

AccessFileName . htaccess

AllOerride All

2、passwd程序创建用户文件:

htpasswd - c /data/web/apache/secrects/.htpasswd 88998

其中,-c表示选项告诉htpasswd你想生成一个新的用户文件,/data/web/apache/secrects/ 是你想存放 .htpasswd 文件的目录,文件名称为 .htpasswd,88998 是在验证时所用到的用户名,敲如以上命令后,系统提示你输入密码,这个密码就是验证时所需要用到的密码,该密码在 .htpasswd 文件中是加密的,

现在用more来查看 /data/web/apache/secrects/.htpasswd文件,可以看到其中有一行用户名和一串加密密码。

3、创建 .htaccess 文件:

使用文本编辑器,在目录 phpMyAdmin (如果已经改名,就是新的目录名)下创建 .htaccess 文件,在文件中加入如下语句:

AuthName “用户验证”

AuthType Basic

AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd

require user 88998

保存所做操作后,再去看phpMyAdmin目录,将提示验证窗口,输入刚用 htpasswd 命令创建的用户名和密码,即可进入该目录。

三、增加基于主机的访问控制:

在修改了目录名和增加访问验证机制后,应该说现在的phpMyAdmin已经很安全了,但由于phpMyAdmin目录一般只是数据库管理员使用,为防止别人还知道目录名称和验证密码,还可以增加如下的基于主机的访问控制,基于主机的访问是通过验证用户机器IP来实现的,即只有符合条件的IP才可以反问该目录,否则拒绝访问。

修改 .htaccess 文件如下:

AuthName “用户验证”

AuthType Basic

AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd

require user 88998

order deny,allow

deny from all

allow from 202.100.222.80

这里增加了三条基于主机访问控制指令,其中第一条 order 指令的值是由一个逗号隔开的名单,这个名单表明了哪一个指令更高的优先权,第二条指令 deny 定义不能访问该目录的主机,第三条指令 allow 定义可以访问该目录的主机,这样,该目录除了IP地址为 202.100.222.80 的机器可以访问该目录之外,其他的都不能访问,读者可以把该地址该为用户数据库管理员IP。

总结:通过以上三点相结合,就可很好的确保 phpMyAdmin 目录的安全,非数据库管理员将很难通过phpMyAdmin程序读取数据。这里所讲的是针对于phpMyAdmin目录进行讲述,其他目录如需加访问限制,也可依此方法操作。

篇4:防止GET和POST方式引起的SQL注入攻击ASP程序WEB安全

编写通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到SQL注入攻击,

IIS传递给asp.dll的get 请求是是以字符串的形式,当传递给Request.QueryString数据后,asp解析器会分析Request.QueryString的信息,,然后根据“&”,分出各个数组内的数据所以get的拦截如下:

首先我们定义请求中不能包含如下字符:

|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare

各个字符用“|”隔开,,然后我们判断的得到的Request.QueryString,具体代码如下 :

dim sql_injdata

SQL_injdata = “'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare”

SQL_inj = split(SQL_Injdata,“|”)

If Request.QueryString“” Then

For Each SQL_Get In Request.QueryString

For SQL_Data=0 To Ubound(SQL_inj)

if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then

Response.Write “”

Response.end

end if

next

Next

End If

这样我们就实现了get请求的注入的拦截,但是我们还要过滤post请求,所以我们还得继续考虑request.form,这个也是以数组形式存在的,我们只需要再进一次循环判断即可,

代码如下:

If Request.Form“” Then

For Each Sql_Post In Request.Form

For SQL_Data=0 To Ubound(SQL_inj)

if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then

Response.Write “”

Response.end

end if

next

next

end if

我们已经实现了get和post请求的信息拦截,你只需要在conn.asp之类的打开数据库文件之前引用这个页面即可。放心的继续开发你的程序,不用再考虑是否还会受到SQL注入攻击。

确保PHP应用程序的安全[4]WEB安全

《Web应用安全权威指南》读后有感

网站被 泛解析后的解决方法WEB安全

web安全学习之xss个人总结

如何启动手动安全模式打开Word程序

下载dedecms程序六个安全措施WEB安全(精选4篇)
dedecms程序六个安全措施WEB安全.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
热门文章
    猜你喜欢
    点击下载本文文档