文档章节

FT12短网址改版说明:一次被迫的改版

q
 qiya0701
发布于 2017/09/05 21:21
字数 1228
阅读 21
收藏 0
点赞 0
评论 0

FT12短网址上线已经六七年,期间服务了无数正常用户,也获得很多好评。FT12短网址使用了国内最稳定、快速的阿里云服务器,保障了短网址的长期可用性。另外,FT12短网址还是目前最安全的网址缩短服务提供商,其在网址安全方面,接入了腾讯电脑管家官方的恶意网址检测api,能自动过滤所有钓鱼、欺诈网址,如果你想用该短网址发一些神马艳照门的链接,或者钓鱼、菠菜网站的链接,那还是免了,因为这些网址都是不被允许且会被自动过滤的。正因为如此,FT12短网址才能长期的稳定的给用户提供最好的服务。不过在为正常用户提供优质服务的同时,我们也得罪很多非法用户。我们对非法用户生成的各种钓鱼、菠菜等非法短链接进行了拦截,净化网络。而很多非法用户在短链接被拦截后,心生怨气,对本站进行了无止尽的CC和DDOS攻击,给本站带来了很多烦恼。同时,还有一些同行,抱着投机的态度对本站进行CC和DDOS攻击。

1-150930120520N0.png FT12短网址改版说明:一次被迫的改版 短网址资讯

每一次的攻击,我们担忧的不是自己的安危,而是想着如何尽可能的保证正常用户的短链接保持稳定、快速的访问。为此,我们针对每一次的攻击进行了分析和总结,有针对性的进行优化,以提高网站的抗CC和DDOS攻击的能力。首先,从软件层面说起。FT12短网址程序基于PHP+MYSQL,为了提升效率我们将php版本从php5.4升级到了php7.0,而这种版本升级,我们却遇到了问题。php7.0不支持mysql方式连接数据库,我们花了两天时间重新编写了程序文件中数据库连接代码,将mysql连接方式改为了pdo_mysql。然后我们测试了版本升级对短网址性能的影响:编写测试代码,测试在php5.4和php7.0下短网址生成时间,结果非常出乎意料,php7.0的速度比5.4版本快了将近两倍!无论是数据连接数还是服务器CPU的占用率都明显下来了,我们对这次的升级非常的满意。

短网址程序版本的升级,对性能有了极大的提升。我们信心满满的期待着短网址在下一次的CC和DDOS攻击中的表现。时间没有让我们等太久。就在php版本升级后的第三天,DDOS和CC攻击又来了。另我们非常失望的是,短网址服务器还是挂了,虽然从之前的秒挂到现在的撑了十几分钟后再挂掉,但这对于我们来说根本没有什么区别。后来,我们又针对这次的攻击进行了分析和总结,以及请教了很多安全防御方面的专家。最终得出结论:在软件层面是无法防御CC或者DDOS攻击,只要攻击能打到php层面,所有的防御都是失败的。我们苦思冥想,终于想到了一个一劳永逸的解决方案:html静态化+接入CDN服务。首先,做了静态化后,所有的请求都再也不需要php去运行,其次,接入了CDN后,静态文件都会缓存到散布在全国各地的CDN节点上,所有的攻击都会被转嫁到CDN服务商,由于缓存测量的作用,对我们短网址服务器不会有任何直接http请求。基于此,我们花了两天时间将FT12短网址的所有用户可见页面进行重构,把原先的“.php”格式文件全部转换成了“.html”格式静态页面。

在完成短网址全站静态化后的第二天,更大规模的攻击又来了。查询了阿里云CDN的访问日志,这一次的攻击尽然有一千过个恶意ip,发起了超过10G以上规模的DDOS攻击。经过CDN供应商的清洗后,带宽流量占用下降到了20M/S,然后这20M/S的http请求,最终到达我的短网址服务器的就只有200K/S了。如果不是特意留意阿里云CDN后台数据,我们很可能连攻击来过也不知道,这次的攻击,短网址服务器这边cpu、内存以及带宽基本上纹丝不动,对正常用户的影响也基本上等于零,一次非常完美的防御!

© 著作权归作者所有

共有 人打赏支持
q
粉丝 0
博文 14
码字总数 12467
作品 0
微信公众平台回复链接可以直接访问,但不能是锚文字链接标签

  最近在学习微信公众平台开发,由于编辑模式和开发模式不可同时开启,在开发模式下如果访客发送关键字过来暂时无法实现关键词自动回复,客服人员先用链接网址直接回复订阅用户,但请注意不...

ytkahcom ⋅ 2014/03/27 ⋅ 0

企业网站改版一般大概费用需要多少钱?公司官网改版注意什么问题和哪些事项?

互联网行业如今已经发展好些年了,越来越多的中小企业官网也已建设多年,随着互联网+的发展,早几年前的公司网站已经远远不能满足现在互联网用户的需求和体验,不能很好的宣传企业在网上的品...

wqyxsj ⋅ 05/28 ⋅ 0

Team 团队协作平台更新,任务管理全面改版

昨晚我们对 Team 团队协作平台做了一次全面更新,此次更新主要是优化使用体验,完善现有功能。 此次更新内容主要包括: Team 页面结构和操作方式进行全面重构,整体性能有较大提升 任务管理模...

oschina ⋅ 2014/12/11 ⋅ 76

51CTO博客改版日记(目录) 2006年 by小废

每次翻来看,都想:是我写的啊?嗯,写得真好~(此处应有嘘声) 十年之后,博客又迎来了新一次的改版,谨以此文,辞旧迎新。 ·[原创] 博客改版日记(9.1)——喜新厌旧的情绪高涨 2006-09-01...

小废物 ⋅ 2017/11/21 ⋅ 0

读书公园的四个版本

今天下午,我对读书公园的页面又做了一些修改。然后就想到,在不知不觉间,这居然已经是网站的第四个版本了。它的面貌变化真是太大了。 下面,大家就跟着我的记忆,来依次回顾吧。 首先,必须...

阮一峰 ⋅ 2004/10/31 ⋅ 0

[多图] 你还记得 OSChina 之前的几个首页吗?

OSChina 网站是在 2008年8月31日 上线的,这期中经过很多次的首页改版。前两三次的改版我都没有保留下来,现在肠子都悔青了。从 09 年开始,每次改版我都会将上一次的版本截个图保留起来,现...

oschina ⋅ 2013/03/25 ⋅ 142

独家:SourceForge 网站今晨大改版

【开源中国社区报道】今天早晨在访问 SourceForge 时,先是报了一个 500 的内部服务器错误,提示的Web服务器是 Nginx 0.7.60 版本。再刷新一下,原来熟悉的项目显示页来了个彻底的改头换面,...

红薯 ⋅ 2009/07/02 ⋅ 9

Opera 31 发布:内核升至 Chromium 44

桌面浏览器 Opera 31 来了!这是中国境内首款将内核升级至 Chromium44 的浏览器,而新版最大的特点就是快——上网更快,启动速度更提升 70% !无论在崭新的 Mac BookPro,还是用了几年的旧电...

oschina ⋅ 2015/08/05 ⋅ 21

[转]支付宝忍了十年,终于…… 腾讯阿里十年恩仇录

昨天中午,朋友忽然大喊支付宝改版了! 哎呀我去,改版不是常事么,有啥大呼小叫的! 结果一看!好“牛逼”的改版! 所以我决定加班加点写个文章来说说这事! 在故事的开始,我先讲一个没有多...

陨落人间 ⋅ 2015/08/20 ⋅ 3

网站改版301中转后,百度正则表达式怎么填写?求助!

  我已经在服务器设置好了301跳转,可是百度站长工具里建议也要设置301跳转。里边要填写正则表达式,不会写,请会的人帮忙一下,多谢!   故事是这样的,我以前网站的目录级别有些多,就...

大大g ⋅ 2013/09/08 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 17分钟前 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 33分钟前 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

OSChina 周日乱弹 —— 这么好的姑娘都不要了啊

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @TigaPile :分享曾惜的单曲《讲真的》 《讲真的》- 曾惜 手机党少年们想听歌,请使劲儿戳(这里) @首席搬砖工程师 :怎样约女孩子出来吃饭,...

小小编辑 ⋅ 今天 ⋅ 8

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部