东拉西扯

张戈博客正式启用全新个性域名:zhang.ge

博客2013年12月18日建站时,取名为玛思阁,域名为marsge.cn,沿用了以前逛论坛经常用的一个马甲 ID。后来心血来潮,注册了个人姓名全拼域名zhangge .net、谐音域名 zgboke.com,其中zgboke.com还作为中国博客联盟折腾了好长一段时间,最后因个人精力有限沦为博客的静态文件托管域名。 错过了zhangge.com 在注册zhangge . net的时候,也看过zhangge.com,遗憾的是我在注册不久之前已经被人注册过了,而且还在挂卖。当时建站都没什么起色,根本不会有花钱买过来的想法。 经过3年左右的努力,当时博客到了权4~5,zhangge.com域名所有人联系我说可以转让给我,价格应该是大好几千,具体不记得了。再往后又心血来潮,是不是把zhangge .net换成.com顶级域名?但想想此时再买,估计大几千是拿不下来了,最后用阿Q精神说服了自己:zhangge .net敲起来更顺手(其实只是熟能生巧)! 又错过了zhang.ge 2018年,不记得从什么途径知道了格鲁吉亚.ge这个国别域名。这要是注册个zhang.ge不是非常贴切、非常个性么?于是在搜索引擎搜了下怎么注册,发现国内就趣域网和花生壳可以注册.ge域名,国外格鲁吉亚那边的域名商网站以个人名义也无法注册。另外还在论坛了解到.ge域名一般会溢价。 于是先咨询了花生壳那边这个域名的注册问题,回复我说要企业性质才可以注册(黑人脸?)。再到趣域网咨询了一下客服溢价的情况,客服说2位数的.ge域名都需要溢价。(最高潮的事情来了,我特么当时看错了,以为两位数说得是『.ge』这个国别位数,直到不久之前再次问客服溢价的问题时才发现一直是自己傻逼了。。。。)所以也就没注册了,一个个人博客域名不可能每年花几千块来续费。 后来不久,我再去看这个域名已经被注册了,当时一度认为是趣域网在我咨询后立马注册下来了,不然怎么会这么巧合?我问过就被注册了? 空欢喜一场 2018年7月份的时候,我突然看到这样一条留言: what?居然找上门来了。感觉可能会很贵,所以象征性的发了一份邮件过去询价,结果邮箱地址错误被退回: 又打开zhang.ge自带的转让页面,再po了一个询价留言,仍然石沉大海,这是玩我的吧?所以这条留言一直未审批。 不会再错过了 然而就在上周天(1月20日),难得空闲下来打理博客的时候,又看到这条待审批的留言,于是点开他的博客看了下,发现龙哥原来是一位元老级的站长。当看到了有个『邮我』的功能,心想着应该不可能再错了吧?于是又发了一份询价邮件过去,结果周一就意外的收到了龙哥的回复了。 他给出的报价很合理,我在追问确认这个域名续费也就90大洋之后,直接微信转账,等域名push,这次不能再错过了! 正式启用,全新出发! 域名到手后,到dnspod去注册发现已经被人登记过了,于是又经历了漫长验证解析生效的等待过程。我已经有一台腾讯云国内服务器,所以想着先备案,然后直接接进来替换,结果发现现在不支持.ge的国别域名备案(互联网管理真的越来越严了,听龙哥说2017年之前都可以备案,他的long.ge就备案了),只好又买了一台香港的云服务器(贵一倍),然后弄了一个nginx反代+替换+缓存就上线了。 国内服务器大概4月份到期,还有个云数据库5月份到期,索性懒得理他,一把梭就把所有服务组件都在香港服务器上基于Docker部署了一份(后面抽空分享下,绝对是闪电的速度),然后修改了所有相关解析,正式启用了这个域名,老域名则做了个301跳转。当然,百度、谷歌那边还是去做了下网站改版的处理,目前已经完成了替换。不过现在网站没啥搜索流量,也就无所谓啥时候生效了。 接下来的2天可没少折腾,各种周边兼容替换,比如sendcloud发信域名替换、代码中有些硬编码的替换等,甚至博客logo也花时间PS掉了。 在弄域名邮箱都时候,发现腾讯的域名邮箱不支持.ge域名,于是试了下网易的域名邮箱发现可以,赞一下。不过呢,最后还是用了腾讯的企业邮箱免费版,超赞。 值得一提的是博客的专用邮箱地址我设置为:im#zhang.ge,寓意 I'm zhangge,想想都觉得非常有意思,哈哈。 很久没写这种杂乱无章的文章了,凑合看看吧。。。
阅读全文
东拉西扯

关于博客文章是否过于絮叨的思考

前几天,博客一篇记录折腾的文章被博友吐槽废话太多,看得好累,引起了我的思考。 开博以来,我一直认为网络上的很多技术性教程,过于专业,阅读门槛太高,所以我决定写文章的时候要照顾到所有有需求的朋友,而并非行内专业技术人士。 先举一个例子: 当我博客分享的文章含有代码时,我都会详细说明代码该保存为什么,该如何执行。就比如shell脚本,我一般会说保存为 xx.sh 之后,要么用 sh xx.sh 运行,要么先赋予执行权限,再用 ./xx.sh运行。 这是非常基础的做法,对于有经验的朋友来说绝对是废话连篇,是我也会烦! 但尼玛那些就没用过shell的朋友,你就给一个代码,他拿到不会用还得去百度或问你!这样真的好吗? 你可能也有这样的经历: 百度搜索解决某个技术性问题,找了一篇又一篇技术教程,总是不能解决问题,等你翻了无数博客技术文章后,在一篇罗里吧嗦的文章或者评论中发现了问题所在!往往是因为某处很小的细节没注意到,把人带进了死胡同! 所以,博客文章并不一定要言简意赅,字字珠玑,比教科书还专业。有的时候,就必须像文言文老师一样,将那拗口的文言文翻译成所有人都可以接受的白话文。而这一切,都取决于我们博客的受众人群类型。 纵观我博客归档,很容易看出,这是一个非专业性的博客,而是一个技术折腾大杂烩!不可否认的是,这些不专业、废话多的文章,每天吸引了上千读者!因为,我博客的受众人群就是一群入门菜鸟或小白,他们就喜欢你写的啰嗦,甚至还经常反馈依然不够详细! 看了下这位吐槽我文章废话太多的朋友的博客,确实是一个搞技术的,博如其名:Linux大神,而且文章也是字字珠玑,言简意赅,确实牛逼! 不过,你都是大神了,其实没必要来我博客看废话(当然交流是可以的,每个人的长处都值得学习!),专业大牛一般不都去国外看洋文原创么? 我博客几乎所有文章,都不是专业性非常强的文章,都是类似于折腾记录,经常会附带一些我当时折腾问题的吐槽、思考或恍然大悟等。 很多时候解决问题的关键可能就是一句话,而我可能用上一千多字的描述,这个确实可以称之为废话!不过话又说话来,很多时候我这些废话中就包含了分析问题的思路和反省,如果能吸收的话也是一笔经验! 回到正题,既然都有人吐槽了,那该反思的还是要反思。分析了合理性,也要思考下改进。 翻看了下历史文章,很多时候确实过于絮叨,可能和个人性格有关吧!写文章生怕别人看不懂,有点东拉西扯,太过滤考虑读者,也许别人真的不需要这么详细呢? 后面写文章,我尝试少写一些废话吧! 不过,几行字写成一篇文章的事情我还是做不出的。。。
阅读全文
东拉西扯

闲来无事,分析下百度是如何实现取消referer关键词显示的

还是在今年6月底,百度就放出全面取消referer关键词显示的通知,听说目的是为了保护用户隐私和站点流量关键词数据。 具体公告如下: 各位亲爱的网站管理员: 百度已实现全站https化,在BAT中率先完成全站加密,以推动网络环境安全。为了进一步保护用户隐私,防止第三方窃听和篡改,百度已于6月25日正式取消referer中关于关键词的显示,更好的保护站点流量关键词数据信息,令站点数据更加私密化。站长需要获得网站流量关键词时,仍然可以使用百度站长平台提供的流量与关键词工具或者百度统计相关功能进行查询。 然而并没有什么L用,本来就不知道谁在百度搜索了什么见不得人的事情,隐藏关键词那不是脱了裤子放屁么? 另外,保护站点流量关键词数据,这一点我倒是觉得很有用,省的某些人总是去瞄瞄谁谁谁的站点的哪篇文章有个很牛逼的关键词,然后吧唧就复制粘贴了。不过,这个做法还是无法完全杜绝,为啥?因为你百度还有一个百度指数的功能!别人拿到高指数的词一搜就知道那个谁谁谁的文章排第一了?不过只是增加了麻烦的程度而已! 说个不好意思的事情,这公告刚出来的时候,我其实是没看懂是什么意思的。。。去认为从一个页面的链接点击后跳到另一个页面难道不会产生referer?这不科学啊!然后我就没在意了。。。 直到前不久,偶然发现张戈博客原创作品【搜索来路欢迎框】不提示关键词了: 本以为是我代码BUG了,于是亲自输出了一下referer看了下,发现我写的代码还是可以拿到referer,可惜referer里面的关键词wd的值是空的,比如: https://www.baidu.com/link?url=dEvj7DE-rHNYgoNrzCSrgBLAVrWns06Ub1h8DjGa5mv-gSonnZp9VCYaDBKRmvDV&wd=&eqid=c1a3fa880009ab000000000555fce97f 这时候又勾起了我的兴趣,了解 referer 的朋友都知道,当我们点击A页面中的链接跳转到B页面时,B页面里面 referer 值就是A页面地址。 也就是说,我在百度搜索张戈博客,那么页面地址应该是: https://www.baidu.com/s?wd=张戈博客 即A页面地址,如果我们从这个搜索结果中点开第一个链接来到张戈博客,那么产生的 referer 应该就是上面这个搜索地址才对!百度是如何做到隐藏这个关键词的呢?? 前几天,在写一个爬虫脚本的时候,破天荒的试了下百度搜索结果中的链接,终于搞懂了这其中的奥妙之处,感觉挺有意思,所以就把其他原创干货继续压在草稿箱等发霉,先把这个发现分享下。 就以张戈博客这个关键词搜索出来的地址为例吧!百度搜索张戈博客后的结果如下图所示: 接着,我试着在Linux下使用curl请求,发现如下图所示: 把结果格式化了下: 然后我就明白了百度是如何做到隐藏关键词的了。 比较简单,但很巧妙的做法:百度现在的搜索结果链接不再直接跳转到目标页面,而是通过了一个隐藏的中转页面。以上代码的大概功能就是,如果浏览器支持Javascript,那么将通过其中的js函数跳转到目标页面,如果浏览器不支持Javascript,那么也能通过最后的META标签让浏览器实现跳转。 由于有了这个中间页面,那么关键词也就断章了,因为真正有关键词的 referer 只能在中间页面这取得,目标页面取得的 referer 则是中间页面的地址,是没有关键词的! 百度还真是用心良苦啊!... 还好我写的【搜索来路欢迎框】是兼容空关键词的,否则显示的就是 null 了。 既然知道有这么个巧妙的做法,那我们在某些场景是否可以借鉴一下呢?我想肯定是用得到的,只是你没遇到而已。。。比如,你的某页面偷偷链接了某站的地址,又不想让站长知道?不过这也是够无聊的了,哈哈哈!
阅读全文
东拉西扯

浅谈个人博客网站or屌丝vps服务器暴露真实IP的危险性

经常关注张戈博客的朋友应该注意到,张戈在以往的文章中多次提到要隐藏我们网站服务器的真实IP,比如最近分享的《阿里云盾网站安全防御(WAF)的正确使用方法》,肯定有不少人心怀疑问,这是为什么呢? 一、为啥隐藏真实IP? 今天,抛出这样一个话题,也是为了提醒那些还懵懵懂懂,毫无设防的屌丝站长们!我们是小网站,我们用的也是屌丝服务器,不像腾讯、网易那些大站用的是价格昂贵、性能卓越的高性能、高可用集群。我们这种屌丝服务器一旦被人恶意攻击基本玩完! 也许,大部分人和我有一样的想法:这有啥,开启高防CDN啊!比如百度云加速、360网站卫士以及安全宝等。确实,使用国内免费的高防CDN是我们这种屌丝服务器的最佳选择。 当我们使用了高防CDN之后,用户访问路径如下: 用户请求-->高防CDN节点-->源服务器 攻击请求就落到分布式大带宽的CDN节点,如果合理设置好缓存项目,我们的服务器几乎不会受到影响。 看到这,你是否对今天这个话题嗤之以鼻?心里想着暴露真实IP有什么问题?我开启百度云加速不就好了嘛! 不错,这应该就是大部分人的想法了,当然肯定还有大部分人对暴露真实IP无动于衷,不知道有什么危害。 好吧,再往下看你是否依然淡定。 一旦真实IP暴露,攻击者只要在攻击时用类似于hosts手段指定IP去攻击,那就神马CDN都是浮云了!因为攻击请求已绕过了CDN节点,直捣黄龙!而DDoS更甚,可以直接大流量攻击真实IP,非高防服务器会立马死翘翘! 当攻击者通过hosts强行指定源服务器IP来进行攻击时,请求途径如下: 攻击请求-->hosts解析-->源服务器 直接绕过高防CDN节点,落到了源服务器!小带宽,低配置的屌丝服务器,对于大批量的不同IP请求,几乎毫无防御能力!每个IP都是正常的请求,根本无法辨别黑白,那么同时l来1000个,看你死不死? 因此,保护好真实IP不暴露到公网,对于小服务器来说是重中之重!虽然你是新站,暂时没被人盯上,一旦有一点起色就很可能招来各种苍蝇的攻击骚扰。这些苍蝇不一定是因为你的网站挡了他的财路,很可能就因为在你网站留言一些推广被拉黑,也有可能是因为和你换友链被拒绝等等,都可能带来嫉恨似的攻击骚扰!直接原因无它,只因CC攻击成本太低而已! 二、如何隐藏真实IP? 上面也已经说了,目前隐藏真实IP的做法主要是利用国内外一些免费的CDN加速服务。比如国内的百度云加速、加速乐、360网站卫士以及安全宝,国外的CloudFlare。不管有没有备案,都能选择一款适合你的免费产品。 当然,如果你不需要加速功能,也可以考虑入住阿里云或腾讯云,然后使用免费的WAF防御服务,也能使用cname解析,起到改变网站IP的效果。 实际上,如此设置之后,在隐藏真实IP的同时,也杜绝了网络上那些到处扫描端口、扫描漏洞的行为。 三、个人经验分享 那用这些高防CDN隐藏真实IP之后,是否百分百可靠呢?且继续看。 不久前,张戈博客被一大波苍蝇攻击,1核CPU配置下的 load average 直接达到10+!我挺奇怪的,因为张戈博客早已实现了纯静态化,被攻击不应该产生这么高的CPU负载才对,因为都是 html 页面。 网站已经龟速,容不得我细究。我立刻将网站迁移到百度云加速,设置为完全缓存,结果发现网站打开速度变快了,但是CPU负载还是没有明显的改善,这是为什么? 当我查看 nginx 的 access.log 才恍然大悟,原来是 postviews 插件的 ajax 统计!就算你是纯静态html,被打开的时候,还是会产生一个 ajax 动态请求来记录浏览数,从而导致了cpu的狂飙,被请求的路径是: https://zhang.ge/wp-admin/admin-ajax.php 我最开始想到的解决方法是,直接将 admin-ajax.php 重命名,让请求变成404状态,CPU瞬间恢复正常! 重命名之后,在WP后台操作的时候发现一个问题,后台很多操作都不能生效了,比如我点击批准了一个评论,刷新后评论又变成待审核了。看来后台的很多操作也是ajax请求了这个文件! 既然不能重命名了,那只好想其他办法了!在页面里面看到这个 postviews 的 ajax 请求代码如下: 因此,我想到的临时解决办法是修改 admin-ajax.php 这个文件,在<?php 后面加入如下内容: 保存后,CPU 压力立马消失无影无踪!因为我让浏览统计临时失效了。浏览统计这种不痛不痒的功能,影响不大。等攻击消停之后再改回来就是。 从这个案例,我们可以看出,百度云加速等高防CDN并不是百分百有效的。当攻击者用数以万计的不同IP来请求的时候,只要你页面中存在一个动态请求,负载就上去了! 最后分享一个小经验,我2个网站的360网站卫士和百度云加速解析记录与各种设置都是以前就设置好了的,一旦被攻击,我只要立刻将NS记录指向云加速或360的NS服务器即可,方便又快捷!这就叫运筹帷幄,未雨绸缪,不管有没有攻击都要留好紧急恢复后路,避免不必要的损失。 好了,磨叽叭嗦的就说到这里,希望我这篇文章能起到正能量的作用,而不是给那些苍蝇们提供了一个无视高防CDN的攻击途径!当然,张戈在这里也奉劝那些整天没事喜欢CC攻击小网站的朋友,这点攻击手段真的很菜鸟,很逗逼,很没技术含量,你真要有本事,敢不敢去做一个白帽子造福互联网?
阅读全文
东拉西扯

说一说张戈和张戈博客的近况

博主近况 博主年后返深做的第一件事就是跳槽,目前已在新公司入职3天有余。比起原先公司,新公司会忙碌很多倍,但是也非常充实,是一个成长历练、赚老婆本的好地方。 每天早出晚归,基本上就没心思写博客了,我终于能够理解为毛很多做运维的朋友在群里都不交流了,尼玛那是没时间跟你玩儿! 博客近况 近来,张戈博客日IP已过万,日PV约3W,有部分朋友跟张戈反馈,博客某些页面偶尔会掉链子,于是我就对百度的云加速、阿里云盾以及我本地的缓存机制和加载策略都进行了优化,希望这阿里云最低档次的ECS能够继续超常发挥,让我2个网站继续平稳运行。 关于友链 这流量一上去,爱站和站长的权重也就到5了,我是不怎么在意这玩意的,我只关心每天的自然流量。但是,却引来了不少换友链的朋友。好吧,那就聊一聊友链? 很多朋友热情诚恳,留言告知已添加张戈博客为友链,询问是否可以交换。虽说交换友链没必要看SEO,但是你一个新站,收录不过100,预估流量没破10,也不合适吧? 所以,现阶段我对友链的要求是:具备相关度且积极向上、建站半年以上、百度收录1000+,最好是备案稳定做下去的网站。对于已有友链,若网站改版或折腾出很多404,我可能会丢到内页友链(留言板)且不会通知。 更新计划 这人一忙起来,而且是适应新环境,就没时间想起他事情了,这些天回家都没开过电脑!更别提更新博客了!所以,博客的更新频率肯定大不如以前。但是既然都做了1年多了,那就必须继续做下去! 对于博客的更新,暂定为一星期更新一篇。但尼玛没时间去折腾确实没有啥好的经验可以分享了,实在没有东西写,我也不会挤牙膏来忽悠自己、糊弄读者,对于文章质量我必须继续严格要求自己,不忘初衷。 原则就是:有就写,没有那就继续酝酿吧!
阅读全文
时光飞逝,博客居然成立一周年了! 东拉西扯

时光飞逝,博客居然成立一周年了!

这些天忙着写公司的年终总结报告,突然发现今天也是张戈博客一周年纪念日。 很清楚的记得去年12月17日购买的域名,12月18日成功上线了博客,先晒一下萌萌哒的第一篇博文: 继续回眸一望,发现一路摸爬滚打居然学会了不少东西。实际上,我就一系统运维的,自从开始折腾WordPress,就变成了一个伪开发,不知道的人还以为我很厉害,很流弊!其实,一开始建站时,我就会一个<b></b>加粗,完整的a标签都不会写,更别提从来没接触过的php了! 我有一个很要强的性格,如果发现不会的,我不会直接去问会的人,而是先百度或谷歌,再不会就去论坛发帖求助,在一切徒劳无功之后,我才会腆着脸去问其他人。 也就是这么摸爬滚打,让我从一个纯小白,到现在能随手写出绝大部分HTML标签,一段css代码,一段简单但又实用的js或php函数,甚至还试着开发了4个Wordpress插件! 说了这么多,我也就想陈述一个道理:那些遇到问题就在群里提问的人,你真的很不应该!本来就是一个做网站的,如果搜索引擎都用不好,何来SEO一说呢?我一直认为,要做好SEO,你首先会用搜索引擎,首先懂得如何利用关键词组合来精确搜索你所需要的资料或教程!我想,那些SEO大师应该也会认同我这个道理吧。 好了,不说大道理了,回归正题。 既然是博客周年纪念,那先用下面这个时光轴展示一下博客历程: 如时光轴所示,张戈博客这一年来推出的精彩原创主要集中在【百度适配】、【网站建设】以及【Linux技术】等方面,也吸引了不少从搜索引擎过来的忠实读者。这更加坚定了我继续写博客,分享技术的决心。 话有说回来了,我写的博文都非常详细,上手门槛都非常低。但是,还是经常有很多朋友完全看不懂,在线留言、QQ私密或者发邮件继续请教。 虽说,只要我有空都会认真回复,但是我也是有正经工作的。博客只是业余爱好!所以,我不可能时时都有时间来满足所有朋友的需求。 暂时就说这么多,以后博客会继续给力,把最好的知识和经验,分享给最需要的读者!
阅读全文