美国虚拟主机Hostease

Mediawiki中文技术论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4578|回复: 1

[技术文档] Mediawiki的安全问题

[复制链接]
发表于 2010-12-29 16:05:19 | 显示全部楼层 |阅读模式
BlueHost主机优惠码
MediaWiki程序的安全性随着版本升级而得到提升,同时性能上也有明显增强。因此本文仅就1.4.0之后的版本进行说明。

mediawiki安全概述

    * 强烈建议:将服务器上脚本程序目录以外的部分设置为禁止[[PHP">PHP</a>脚本运行(下文中提到的"php_admin_flag engine off/on|PHP]]脚本运行(下文中提到的"php_admin_flag engine off/on"参数),以防止恶意脚本的上传和运行。
    * 将register_globals设为关闭状态,否则可能造成部分程序不安全。关闭的方法参见 http://php.net/register_globals" (英文)。
    * LocalSettings.php中包含数据库用户的密码,请不要在网站空间上随意建立备份文件,以免被作为文本文件访问而造成泄密。
    * 禁止在允许上传的目录中执行PHP,因为有人可能作为服务器用户来执行任意的代码。同时建议将HTML文件强制解释为文本文件,以避免窃取cookie攻击。这是apache设置的代码片断:


  1. <Location "/[url=http://www.zzbaike.com/wiki/wiki]wiki[/url]/images">

  2. php_admin_flag engine off
  3. AddType text/plain .html .htm .shtml

  4. </Location> </pre>
复制代码



    * 这也可以通过设置上传目录中的.htaccess文件完成(注意将该文件进行写保护):


  1. php_value engine off
  2. AddType text/plain .html .htm .shtml
复制代码


</pre>
[编辑]
关于服务器Apache httpd的说明

你可能希望将HTML文件强制解释为文本文件,以避免窃取cookie攻击。这是apache设置的代码片断:

  1. <Directory "/Library/[url=http://www.zzbaike.com/wiki/MediaWiki]MediaWiki[/url]/web/images">
  2.    # Ignore .htaccess files
  3.    AllowOverride None
  4.    
  5.    # Serve HTML as plaintext
  6.    AddType text/plain .html .htm .shtml
  7.    
  8.    # Don't run arbitrary PHP code.
  9.    php_admin_flag engine off
  10.    
  11.    # If you've other scripting languages, disable them too.
  12. </Directory>

  13. </pre>
复制代码


关于PHP解释器的说明

register_globals

在Mediawiki版本1.2之后,不再需要php.ini中的register_globals被打开。
强烈建议关闭register_globals,除非另外的应用需要。

php.ini可能存放在:


  1.     * /etc/php.ini (Red Hat Linux)
  2.     * /etc/php4/apache/php.ini (Debian woody)
  3.     * /usr/local/php/lib/php.ini (Mac OS X using Marc Liyanage's PHP package)
  4.     * /var/www/conf/php.ini (OpenBSD)
  5.     * /usr/local/etc/php.ini (FreeBSD)
  6.     * /etc/apache2/conf/php.ini (Gentoo Linux)
  7.     * c:\windows\php.ini (Windows)
复制代码



请将php.ini中的“register_globals = On”改为“register_globals = Off”。

作为替代手段,你可以在apache directive中加入下面一行,以基于单一目录的方式禁用register_globals:



  1. php_flag register_globals off </pre>
复制代码

之后重启Apache以使变动产生作用。



上传目录的安全设置

    * 禁止在允许上传的目录中执行PHP,因为有人可能作为服务器用户来执行任意的代码。实际上,其他CGI程序脚本也应当被禁止。同时建议将HTML文件强制解释为文本文件,以避免窃取cookie攻击。这是apache设置的代码片断范例:


  1. <Location "/[url=http://www.zzbaike.com/wiki/wiki]wiki[/url]/images">

  2. php_admin_flag engine off
  3. Options -ExecCGI
  4. AddType text/plain .html .htm .shtml .php

  5. </Location> </pre>
复制代码



关于MySQL数据库的说明

    * LocalSettings.php中包含数据库用户的密码,请不要在网站空间上随意建立备份文件,以免被作为文本文件访问而造成泄密。
回复

使用道具 举报

发表于 2011-8-9 08:11:48 | 显示全部楼层
BlueHost主机优惠码
谢谢了。。。 我很赞成,继续努力吧













回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

美国主机评测网站

Archiver|手机版|小黑屋|Mediawiki中文技术论坛

GMT+8, 2022-7-6 21:03 , Processed in 0.089849 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2022, Tencent Cloud.

快速回复 返回顶部 返回列表