Winows 2012 服务器 IIS8 实现 http 自动跳转 https

Windows 2012 服务器 IIS8,配置好 SSL 证书后,需要默认访问域名由 http 自动跳转 https。
部分主机商的管理系统,可实现 Windows 2012 服务器 支持多站点 SSL 证书的配置
比较简便方式一,在根目录下创建 web.config,并将如下代码拷贝进去即可,无需拥有服务器配置权限(也适用虚拟主机)。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Nginx环境SSL安全性增强,HTTPS网站轻松快速获得A+评级

从 HTTP 到 HTTPS 只需要一个 SSL 证书,而在安装 SSL 证书后,如何使网站获得更高的安全评级呢?该如何增强 SSL 安全性呢?
https_Aplus.png
通过禁用 SSL 压缩来降低 CRIME 攻击威胁;禁用协议上存在安全缺陷的 SSLv3 及更低版本,并设置更健壮的加密套件 cipher suite 来尽可能启用前向安全性 Forward Secrecy;此外还启用了 HSTS 和 HPKP。这样我们就拥有了一个健壮而可经受考验的 SSL 配置,并可以在的 SSL 的测试中得到 A 级及以上评分。

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";

以上便是目前在用的一个简单配置,通过在原有的服务器配置文件中添加以上信息就瞬间从之前的 A-评价获得了 A+,实现了 Nginx 服务器的 SSL 安全性增强配置。

另外,SSL 检测 PCI DSS 不合规的解决方法:
评估兼容性后,禁用TLS1.0(服务器所有 SSL 的站点)

ssl_protocols                TLSv1.1 TLSv1.2 TLSv1.3;

帝国CMS列表模板和内容模板过滤smalltext简介中的空格、换行

帝国CMS的内容简介如果采取自动生成的方式,会产生空格、换行,这种数据读取到页面上肯定是不行的,必须过滤处理。
ecms-smalltext.png

一、内容模板使用以下代码,可过滤smalltext简介中的空格、换行:

<?
$qian=array(" "," ","\t","\n","\r");
$hou=array("","","","","");
$smalltext=str_replace($qian,$hou,$navinfor[smalltext]);
echo $smalltext;
?>

二、列表模板过滤smalltext简介中的空格、换行,方法如下:
1、列表内容模板(list.var)右侧,勾选“使用程序代码”
2、采用以下代码:

$r[smalltext]=str_replace(array("\r\n", "\r", "\n", "<br />", "</p>"),"",str_replace("<p>","",$r[smalltext]));
$listtemp='<li><p>[!--smalltext--]</p></li>';

列表样式$listtemp中的内容自行修改。

CentOS系统漏洞修复简易方法

在阿里云主机的管理后台上,经常看到漏洞警告。
对于Linux系统的漏洞,还是要重视的,未雨绸缪啊。
但阿里云后台的修复功能需要付费,其实自己操作修复特别简单,只需几个命令即可。

Centos系统的漏洞修复其实很简单,用yum安装包管理工具,只需两个步骤:
(操作执行前一定要备份或者给服务器创建好快照)

1.清理缓存信息
yum clean all

2.安装所有软件和系统更新
yum -y update
yum -y upgrade(只升级所有包,不升级软件和系统内核)

如果有漏洞需要重启,可以安全重启:
rebootshutdown -r 0 重启

当然除了 Centos 系统,Ubuntu 系统也很常用。如果你的主机是 Ubuntu 及 Debian 系统,那么修复命令需要用apt,操作步骤与yum是很类似的。

本文转自:https://xiaaijun.com/centos-update.html

帝国CMS灵活调用个性化的多图片集插件

帝国CMS论坛受管制,强制关闭了,很多技术贴内容无法搜到,之前没养成随手记的习惯,导致现在诸多的不便...
ECMS的图集效果不太理想,一直在用的一个可以灵活调用的多图集功能插件。

1、功能代码

将下面的代码,复制到你的userfun.php中(文件位置:/e/class/userfun.php)

function user_PhotoMorepic($tempid){
    global $navinfor,$public_r;
    $morepic=$navinfor['morepic'];
    $rexp="\r\n";
    $fexp="::::::";
    $rstr="";
    $sdh="";
    $w_morepic="";
    $rr=explode($rexp,$morepic);
    $count=count($rr);
    $num=$count;
    
    //取得模板
    $tr=sys_ReturnBqTemp($tempid);
    if(empty($tr['tempid']))
    {return "";}
    $listtemp=str_replace('[!--news.url--]',$public_r[newsurl],$tr[temptext]);
    $subnews=$tr[subnews];
    $listvar=str_replace('[!--news.url--]',$public_r[newsurl],$tr[listvar]);
    $rownum=$tr[rownum];
    $formatdate=$tr[showdate];
    if(empty($rownum))
    {$rownum=1;}
    
    //列表
    $list_exp="[!--empirenews.listtemp--]";
    $list_r=explode($list_exp,$listtemp);
    $listtext=$list_r[1];
    $no=1;
    $changerow=1;
    
    for($i=0;$i<$count;$i++)
    {
        $fr=explode($fexp,$rr[$i]);
        $smallpic=$fr[0]?$fr[0]:$public_r[newsurl]."e/data/images/notimg.gif";    //小图
        $bigpic=$fr[1]?$fr[1]:$public_r[newsurl]."e/data/images/notimg.gif";    //大图
        if(empty($bigpic))
        {
            $bigpic=$smallpic;
        }
        $picname=htmlspecialchars($fr[2]);    //名称
        $val[picname]=$picname;
        $val[bigpic]=$bigpic;
        $val[smallpic]=$smallpic;
        /////////////////
        $strF=",picname,bigpic,smallpic,";
        $repvar=user_ReplaceShowpicsVars($listvar,$strF,$val,$no);
        $listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext);
        $changerow+=1;
        //超过行数
        if($changerow>$rownum)
        {
        $changerow=1;
        $string.=$listtext;
        $listtext=$list_r[1];
        }
        $no++;
    }
   $string=$list_r[0].$string.$list_r[2];
    echo $string;
}

function user_ReplaceShowpicsVars($listtemp,$strF,$val,$no){
$fr=explode(',',$strF);
$fcount=count($fr)-1;;
for($i=1;$i<$fcount;$i++)
{
$f=$fr[$i];
$value=$val[$f];
$listtemp=str_replace('[!--'.$f.'--]',$value,$listtemp);
}
$listtemp=str_replace('[!--no.num--]',$no,$listtemp);

return $listtemp;
}

2、添加标签

标签名:图集
标签符号:pichd
函数名:user_PhotoMorepic
标签格式:[pichd]tempid[/pichd]
(tempid为模板标签id)

3、标签模板

页面模板内容:
列表头[!--empirenews.listtemp--]列表内容[!--empirenews.listtemp--]列表尾

列表内容模板(list.var)
[!--picname--] 图片说明(标题)
[!--smallpic--] 小图
[!--bigpic--] 大图
[!--no.num--] 序号

内容模板
[pichd]标签模板id[/pichd]

本文转自:https://xiaaijun.com/ecms-PhotoMorepic.html

帝国CMS全站电脑端自动调整手机端动态静态代码

帝国CMS7.2版推出了完善的多访问终端功能,让网站多种移动访问端制作更加方便。7.5版中多访问端升级:支持在主端后台刷新生成各访问端静态页面,多访问端用静态模式下使用更方便。

1、页面头部。JS代码在body前面加上以下HTML源代码
PC端部分代码(判断是否是手机端跳转至手机页面地址)

<script data-fixed="true">
  !function(){
    function params(u, p){
      var m = new RegExp("(?:&|/?)"+p+"=([^&$]+)").exec(u);
      return m ? m[1] : '';
    }
    if(/iphone|ios|android|ipod/i.test(navigator.userAgent.toLowerCase()) == true && params(location.search, "from") != "mobile"){
      location.href = 'https://m.tzzs.net/';
    }
  }();
</script>

手机端部分代码(判断是否是PC端跳转至PC页面地址)

<script data-fixed="true">
  !function(){
    if(/iphone|ios|android|ipod/i.test(navigator.userAgent.toLowerCase()) == false){
      location.href = 'https://www.tzzs.net/';
    }
  }();
</script>

2、列表页

动态页:http://m.tzzs.net/e/action/ListInfo/?classid=[!--self.classid--]
静态页:http://m.tzzs.net<?$r['classid']=$GLOBALS[navclassid];$classurl=sys_ReturnBqClassname($r,9);echo $classurl;?>

3、内容页

动态页:http://m.tzzs.net/e/action/ShowInfo.php?classid=[!--classid--]&id=[!--id--]
静态页:http://m.tzzs.net[!--titleurl--]

效果演示站点:https://www.tztjfc.com/

本文转自:https://xiaaijun.com/ecms-pc-mobile.html