雅虎邮箱恢复服务了

自2013年8月19日中国雅虎邮箱正式停止服务后,后缀为 @yahoo.com.cn和 @yahoo.cn的邮箱已无法使用,不幸的是博主的邮箱后缀虽为 @yahoo.com,但还是被停止了服务。

yahoo.com.cn 和 yahoo.cn 是中国雅虎的域名,停止服务无可非议,而 yahoo.com 是雅虎美国的域名,怎么也停止服务呢?从报道中了解到造成这种情况的原因是,后缀为@yahoo.com的邮箱在帐户设置时,把国际化(i18n)设置为了中国(CN),意味着接受了中国雅虎邮箱的服务协议,并把邮件存储在中国雅虎的服务器上,邮箱数据是在中国雅虎服务器上的,所以也属于中国雅虎停止邮箱服务的范围。虽然停止服务后@yahoo.com 邮箱帐户会自动转向美国雅虎邮箱服务,但之前在中国邮箱服务器的归档邮件和联系人信息不会随之迁移,也就是说,邮箱归档会丢失。

几个月前博主尝试登录过邮箱,都提示错误信息:暂时错误: 2。以为雅虎邮箱再也不能使用了,今天在查看邮箱帐户时再次尝试登录,神奇地发现居然可以正常登录了!也算是收获了一个小惊喜。遗憾的是中国雅虎发布公告时那会没留意,没有将邮箱归档进行迁移保留,导致空有邮箱帐户而没有邮箱历史归档。

Nginx配置移动端和电脑端自动双向跳转

场景

域名 描述
pc端 www.example.com 用于pc端访问官网
移动端 m.example.com 用于移动端访问

需求

在电脑端访问www.example.comm.example.com都跳转到www.example.com
在移动端访问www.example.comm.example.com都跳转到m.example.com

实现方法

为了实现跳转,可在页面中加入前端跳转代码JS对ua进行适配跳转。这种方式存在三个缺点:
a) 对用户:会加大由重定向的客户端造成的延迟;这是因为客户端需要先下载网页,接着解析并执行 JavaScript,然后才能触发重定向。301或302则不会有这个延迟。
b) 对搜索:爬虫也需要使用支持JS渲染的爬虫,才能发现此重定向。
c) 无法实现双向跳转或兼容性差:笔者尝试过多种公开代码进行测试,只能实现单向跳转,进行双向跳转时会造成死循环。

关于移动适配,百度的官方建议:
https://ziyuan.baidu.com/college/courseinfo?id=156

为了对用户和搜索引擎更友好,我们采取在Nginx进行跳转配置。

代码

电脑端:www.example.com

server {
      listen       80;
      server_name  www.example.com;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    # 下面根据user_agent可以获取
     if ($http_host !~ "^www.example.com$") {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }
     if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://m.example.com$1 permanent;
     }
    location / {
            root     /home/build/rampage-home-front/dist/html;
            index  index.html index.htm;
     }

}

作用部分代码如下:

     if ($http_host !~ "^www.example.com$") {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }
     if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://m.example.com$1 permanent;
     }

手机端:m.example.com

server {
      listen       80;
      server_name  m.example.com;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    #非移动端跳转到 www.example.com
     if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }

    location / {
        root     /home/build/rampage-mobile-front/dist;
        index  index.html index.htm;
      }
}

作用部分代码如下:

if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }

如果配置了SSL证书,需要在443端口同样配置。

Discuz附件放到阿里云OSS教程

1. 首先开通阿里云OSS(该步骤就不解释了)

2.下载OSS程序,解压上传到网站的根目录。
链接:https://pan.baidu.com/s/1pMdf8uv 密码:ardn
以上资源失效可以直接点击这里下载OSS程序

3.修改config-config_global.php文件,在底部添加以下代码

// -------------------  THE END  -------------------- //
// --------------------------  附件储存-开始  -------------------------- // 
$_config['extend']['storage']['curstorage']='aliyun';       
$_config['extend']['storage']['aliyun']['access_id']='     ';      // 2 OSS Access Key ID 
$_config['extend']['storage']['aliyun']['access_key']='    ';     // 3 OSS Access Key Secret       
$_config['extend']['storage']['aliyun']['access_host']=NULL;     // 默认即可 
$_config['extend']['storage']['aliyun']['bucket']='       ';         // 1 就是你给OSS取的那个名称
$_config['extend']['storage']['aliyun']['attachurl']='http://     /';      // oos外网地址 
// ---------------------------  结束 ----------------------------------- //

?>

4.修改extend/vendor/storage/aliyun/sdk.class.php的第72行为自己的节点

5.进行远程附件配置并测试
进入后台——全局——上传设置——远程附件
FTP账户填写 Access Key ID /创建的OSS名字
FTP密码填写 Access Key Secret
远程访问URL填写OSS访问域名

6.附件迁移到OSS后需要更新附件的链接地址,参考Discuz! X3.2本地附件全部修改为远程附件的方法

7.配置完成后更新缓存,在远程附件配置页测试远程附件,测试正常即可。

ISAPI Rewrite过期失效怎么办

ISAPI_Rewrite3完全版会有45天的试用期,过期了需要99美元进行够买,网上有很多破解版的,方法如下:

1、先从官网下一个完全版的ISAPI_Rewrite3并安装,

也可以直接下载,下载链接:http://www.jb51.net/softs/66905.html#download;

2、在将Rewrite破解文件夹中的dll文件覆盖到程序安装目录下ISAPI_Rewrite.dll和ISAPI_RewriteSnapin.dll,如果提示在使用则把要覆盖的dll文件重命名在复制即可;

3、打开安装目录下的httpd.conf文件,在里面输入以下内容并保存,这样就没有使用天数的限制了;

RegistrationName= wlqcwin

RegistrationCode= 2EAD-35GH-66NN-ZYBA

4、安装好后记得给ISAPI_Rewrite3软件安装目录network service的读权限。

但是通过上述的方法会发现ISAPI_Rewrite.dll文件无法覆盖,我把这个文件删除后重新覆盖,发现还是提示过期而且无法使用!其实上面少掉了一步操作就是需要先停止iisadmin(开始,运行 net stop /y iisadmin);再进行复盖。如果复盖时还提示拒绝访问,也可以全选把原来安装文件夹的文件删除再复制复盖,复盖完成后。运行命令:

net start iisadmin
net start w3svc
net start ftpsvc

或者直接在IIS里启用网站也可以。

这样即完成了破解。虽然还是会提示使用期限到了或过期,并且过期时间是负数,但是不会像没有破解前一样弹出一个确定框禁止访问。

另外破解后需要手工编辑httpd. conf。因为编辑按钮是灰色的不能按了。但是不影响功能使用。

Discuz! admin.php 安全加固 防止普通用户访问

网站管理后台暴露在外面始终不是一件什么好事,最好的安全加固方法就是把目标隐藏起来。

通过修改admin.php可以防止普通用户访问,从而提升安全性。

此方法适用Discuz! X全系列版本

具体实施方案:
打开admin.php,在25行,找到$discuz->init();

在改代码下面换行添加以下代码:

if(!$_G['uid'] || !getstatus($_G['member']['allowadmincp'], 1)) {
header('Location: /');
}

Discuz! X3.3站点部署SSL后兼容HTTPS访问教程

1、修改source/class/discuz/discuz_application.php(第187行)

$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;

修改为:

$_G['isHTTPS'] = true;

2、修改uc_server/avatar.php(就在头几行)

define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));

修改为:

define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));

3、修改/template/default/common/header.htm
将http://全部查找替换为:https://(一共5处)

4、后台 – 全局 – 站点信息 – 网站 URL:将http://改成https://网址

5、后台 – 站长 – UCenter设置 – UCenter 访问地址改成https://网址

6、后台 – UCenter(如果不能正常访问可以在新窗口打开,也可以直接访问UC地址) – 应用管理 – 点右边的编辑 – 应用的主URL改成https://网址

7、后台 – 工具 – 更新缓存

8、后台 – 界面 – 风格,点击“更新CSS缓存”按钮