建站

跨站请求伪造与 Same-Site Cookie

跨站请求伪造

跨站请求伪造(又被称为 CSRF 或者 XSRF ),它源自一个域网站向另一个域网站发起请求的简单功能。攻击者通过一些技术手段欺骗用户使用浏览器去访问一个自己曾经认证过的网站并执行一些敏感操作(如转账)。

一个域网站向另一个域的网站发起请求的方式有很多,例如点击一个超链接、加载静态资源、提交表单以及直接发起 ajax 请求等。如:

<a href="http://a.com/xx">点击有惊喜</a>    # 诱导用户点击

<img src="http://a.com/xx" >     # 浏览器默认加载资源 - 图片

<link href="http://a.com/xx" rel="stylesheet" >
        

跨站请求伪造已死!

跨站请求伪造已死!

在连续不断的被跨站请求伪造折磨了这么多年后,我们现在终于有了一个合理的解决方案。一个对网站拥有者没有技术负担、实施起来没有难度、部署又非常简单的方案,它就是 Same-Site Cookies。

和互联网历史一样悠久的跨站请求伪造

跨站请求伪造(又被称为 CSRF 或者 XSRF )似乎一直都存在着。它源自一个网站必须向另一个网站发出请求的简单功能。比如像在页面中嵌入下面的表单代码。

<form action="https://your-bank.com/transfer" method="POST" id="stealMoney">  
<input type="hidden" name="to" value="Scott Helme">  
<input type="hidden" name="account" value="14278935">  
<input type="hidden" name="amount" value="£1,000">复制代码

当你的浏览器载入这个页面之后,上面的表单将会由一个简单的 JS 片段来实现提交。

document.getElementById("stealMoney").submit();复制代码
        

免费申请https网站ssl证书–支持通配符

众所周知从某些公司购买HTTPS证书,一个域名每年都要几千个大洋(不是一般的黑)。那么有没有免费,答案是有。现隆重推荐(Let’s Encrypt 免费证书
EEF 电子前哨基金会、 Mozilla 基金会和美国密歇根大学成立了一个公益组织叫 ISRG ( Internet Security Research Group ),这个组织从 2015 年开始推出了 Let’s Encrypt 免费证书。这个免费证书不仅免费,而且还相当好用,所以我们就可以利用 Let’s Encrypt 提供的免费证书部署 https 了。
Let’s Encrypt 证书除了免费,还支持域名通配符或泛域名。好东西必须分享,走起。准备工作
安装Certbot
centos7 为例Certbot 的官方网站是 https://certbot.eff.org/ ,打开这个链接选择自己使用的 web server
        

如何防止网页上的部分文字被搜索引擎收录

如何防止网页上的部分文字被搜索引擎收录

网页上的文字,一般都会被收录,如果你想让网页上的文字不被收录,如:电话号码,QQ号码等。

可以用css来实现

HTML:

<span class="lianxiqq"></span>

CSS:

.lianxiqq:after { content"QQ号码";}
这样就不被搜索引擎收录了。
PS;如果用 js如
<script>
document.write('QQ号码');
</script>
这样是不管用的,还是会被收录的。
原创文章,转载请注明,来自Lenix的博客 ,地址 http://blog.p2hp.com/archives/5568

SSL证书没有绿锁-您与此网站建立的连接并非完全安全解决办法

为什么我的网站https旁边提示不安全,没有小绿锁了?

不少香港空间的新手站长,当使用了SSL证书之后,发现浏览器有https效果了,但是没有绿锁,谷歌浏览器提示“您与此网站建立的连接并非完全安全解决”

谷歌浏览器提示“您与此网站建立的连接并非完全安全解决”

这种情况都是属于网站代码不符合SSL证书规范导致的。

    

用 Algolia DocSearch 轻松实现文档全站搜索

话说,有两件事能让程序员抓狂,一是写文档,二是看别人的代码发现没写文档……

没错,咱程序员就是这么“双标”。 smile

不过麻烦归麻烦,出来混,文档还是要写的,不然哪天回头翻自己的项目,连自己都不知道写了个啥,就很尴尬了。当然,文档通常是为别人写的,特别是一些工具类的库或者开源软件,从最简单的 readme,到成体系的在线 wiki,再到自建在线文档网站,这大概是很多开源作者都有过的历程。…

Let’s Encrypt 宣布支持通配符证书,所有子域名可轻松开启 HTTPS

来自:开源中国

链接:oschina.net/news/94188/acme-v2-and-wildcard-certificate-support-is-live

 

Let's Encrypt 宣布 ACME v2 正式支持通配符证书。Let's Encrypt 宣称将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书。

 

Let's Encrypt 宣布支持通配符证书,所有子域名可轻松开启 HTTPS

 

v2 vs v1

 

ACME v2 与 v1 API 有许多不同之处,值得注意的变更:

 

  1. 授权/签发流程已改变
  2. JWS 请求授权以改变
  3. JWS 请求体的"resource"字段被新的 JWS 请求头“url”替换
  4. 目录端点/资源重命名

 

ACMEv 是 ACME 协议的更新版本,考虑到行业专家和其他组织可能希望在某天使用 ACME 协议进行证书颁发和管理,它已经通过

    

如何防止运营商内容劫持(http劫持)

如何防止运营商内容劫持(http劫持)

目前来看,根据我的经验,运营商内容劫持是通过白名单策略进行的,主要是针对高流量的访问地址,如微信API,jiathis分享代码,微博网页等进行.

主要表现为js脚本注入,和 html内容 注入.自己的JS代码.

因此,就预防来说,比如,页面引入了,第三方这类JS代码的,要改为HTTPS方式如

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

改为

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

 

二是自己站的页面也可能被注入广告代码,一般是在 <body>标签后面,或</body>标签前面注入,所以,我们可以在页面最开始,和最后,分别放入以下代码

 

<!--!DOCTYPE html>
<html>
<head>	 
</head>
<body>	 
</body>
</html-->

以达到迷惑敌人的目的,这段代码,就是引诱作用, 使运营商注入了也不会显示出来,因为注释掉了.

 

三是使用CSP 全称为 Content Security Policy,即内容安全策略。主要以白名单的形式配置可信任的内容来源,在网页中,能够使白名单中的内容正常执行(包含 JS,CSS,Image 等等),而非白名单的内容无法正常执行,从而减少跨站脚本攻击(XSS),当然,也能够减少运营商劫持的内容注入攻击。

四是全站使用HTTPS啦,这是最好的方法,但是也要注意,引入第三方网站的JS时,不能用HTTP方法,要改为HTTPS方式,如果第3方网站 不支持HTTPS连接,那就可以把第三方网站的JS保存下来,放到自己网站上,进行HTTPS连接.

 …