PHP站点被攻击时处理方案
攻击模式处理方案。
方案(阿里云)
1. MySQL RDS添加只读实例,开启读写分离,平时可预留低配实例备用
2. MySQL数据库配置 wait_timeout和 interactive_timeout为 5~10,以便超时自动释放连接,避免连接数过多的问题
3. WAF CC自定义规则,设置单ip规定时长的访问限制及封禁时长,可设置2~3个阶段
4. WAF精准控制规,主要是黑白名单
Home of Little Jelly
攻击模式处理方案。
方案(阿里云)
1. MySQL RDS添加只读实例,开启读写分离,平时可预留低配实例备用
2. MySQL数据库配置 wait_timeout和 interactive_timeout为 5~10,以便超时自动释放连接,避免连接数过多的问题
3. WAF CC自定义规则,设置单ip规定时长的访问限制及封禁时长,可设置2~3个阶段
4. WAF精准控制规,主要是黑白名单
CentOS 7安装Golang。
下载安装
wget https://dl.google.com/go/go1.10.8.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz
配置环境变量
Golang中Html Dom解析可使用第三方库`goquery`实现,就像用`jQuery`操作节点一样方便。
安装 goquery
go get github.com/PuerkitoBio/goquery
引用
阿里云Data Lake Analysis 查询Table Store数据。
Table Store
1. 开通Table Store服务(OTS)
2. 选择合适区域创建OTS实例,例 华北2北京区域下`labs`
3. 创建OTS数据表`web_page`
CentOS7安装nginx php7 MySQL。
注意点
1. 先安装memcached
2. 需要安装gcc、zlib、zlib-devel
3. memcache扩展编辑安装完成后需要在`/etc/php.d`手工创建 `memcache.ini`
4. memcache目录下运行`./configure`需要修改php-config的路径
PHP FPM慢请求日志收集。
编辑php-fpm配置文件
vi /etc/php-fpm.d/www.conf
将 `request_slowlog_timeout`前的注释取消,并设置为需要的值,默认单位为秒。
PHP SESSION心得:
1. 单台服务器时,`session.save_handler`用`files`,不要用`memcache`,不然 `session_start` 会有1%左右的机率出现严重耗时的情况。Redis未测试,应该也没有files快。
2. 多台服务器时,session可以存储在Memcache/Redis/Mysql中
3. 并发高时,应降低session回收机率,即配置 `session.gc_divisor`
4. 在PHP环境下,默认的 `session.lazy_write = On`无需禁用。不然也会出现1中的问题。
MySQL新建用户并授权。
创建新用户
use mysql;
# 任意主机,host用 %
create user ‘usename’@’host’ IDENTIFIED by ‘password’;
flush privileges;
Jekyll可以将纯文本转化为静态网站和博客,Github Pages支持Jekyll。
下面介绍下CentOS7 Jekyll的安装与使用。
安装Ruby
yum install centos-release-scl-rh
yum install rh-ruby23 -y # jekyll要求ruby版本大于2.2.5
scl enable rh-ruby23 bash
ruby -v # 查看ruby版本
gem -v # 查看gem版本
Golang中GET/POST表单可使用`http`包方便的实现。
GET
url := “http://www.yourl.com”
resp, err := http.get(url)
POST表单