PHP发送UTF-8编码中文邮件发件人和标题乱码

标题乱码

当我们使用下面的PHP语句发送中文电子邮件的时候,会发现邮件的标题是乱码,而邮件正文却是正确的,如何才能使得邮件标题不是乱码呢?

$subject = stripslashes($the_post['Title']);
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$message = stripslashes(strip_tags($the_post['Content']));
mail($to, $subject, $message, $headers);

先用函数base64_encode() — 使用 MIME base64 对数据进行编码

标题字符串前加编码类型例如: =?UTF-8?B?

标题字符串后加:?=

例如:

$subject = "=?UTF-8?B?".base64_encode($subject)."?=";

将上面一句添加到代码之中,这样,发送的中文邮件标题就不是乱码了。

 

收件人那行都是乱码

$headers = 'To: "=?utf-8?B?' . base64_encode("测试") . '?="  '. "\r\n";
$headers = 'From: "=?utf-8?B?' . base64_encode("测试") . '?="  '. "\r\n";

像这样,确定取出来的数据为utf-8,然后将数据用base64编码。

通过SSH实现端口映射

可以将远端服务器一个端口remote_port绑定到本地端口port,其中-C是进行数据压缩,-f是后台操作,只有当提示用户名密码的时候才转向前台。-N是不执行远端命令,在只是端口转发时这条命令很有用处。-g 是允许远端主机连接本地转发端口。-R表明是将远端主机端口映射到本地端口。如果是-L,则是将本地端口映射到远端主机端口。

ssh的三个强大的端口转发命令:

转发到远端:ssh -C -f -N -g -L 本地端口:目标IP:目标端口 用户名@目标IP

转发到本地:ssh -C -f -N -g –R 本地端口:目标IP:目标端口 用户名@目标IP

ssh -C -f -N -g -D listen_port user@Tunnel_Host

 

-C:压缩数据传输。

-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-N :不执行脚本或命令,通常与-f连用。

-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。

-L 本地端口:目标IP:目标端口

将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

-R本地端口:目标IP:目标端口

将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

-p :被登录的ssd服务器的sshd服务端口。

-D port

指定一个本地机器 “动态的’’ 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.

应用举例

1.将发往本机的80端口访问转发到174.139.9.66的8080端口

ssh -C -f -N -g -L 80:174.139.9.66:8080 master@174.139.9.66

2.将发往174.139.9.66的8080访问转发到本机的80端口

ssh -C -f -N -g -R 80:174.139.9.66:8080 master@174.139.9.66

 

VPS常用安全设置

一、修改SSH端口

vi /etc/ssh/sshd_config

找到其中的#Port 22(第13行),去掉#,修改成Port 3333

使用如下命令,重启SSH服务,注:以后用新端口登陆。

service sshd restart

二、禁止ROOT登陆

先添加一个新帐号80st ,可以自定义:

useradd 80st

给weidao 帐号设置密码:

passwd 80st

仍旧是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重启SSH服务。以后,先使用weidao 登陆,再su root即可得到ROOT管理权限。

login as: 80st
weidao@ip password:*****
Last login: Tue Nov 22 15:18:18 2011 from 1.2.3.4
su root
Password:*********** #注这里输入ROOT的密码

三、使用DDos deflate简单防落CC和DDOS攻击

使用netstat命令,查看VPS当前链接确认是否受到攻击:

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n

IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象。

可以使用iptables直接BAN了这个IP的永久访问:

iptables -A INPUT -s 12.34.56.78 -j DROP

使用软件DDos deflate来自动检测并直接BAN掉的方法,首先要确认一下iptables服务状态,默认CENTOS就安装的,不看也行。

service iptables status

安装DDos deflat:

wget http://www.inetbase.com/scripts/ddos/install.sh
chmod +x install.sh
./install.sh

安装后需要修改/usr/local/ddos/ddos.conf,主要是APF_BAN=1要设置成0,因为要使用iptables来封某些可疑连接,注意EMAIL_TO=”root”,这样BAN哪个IP会有邮件提示:

##### Paths of the script and other files
PROGDIR=”/usr/local/ddos”
PROG=”/usr/local/ddos/ddos.sh”
IGNORE_IP_LIST=”/usr/local/ddos/ignore.ip.list” //IP地址白名单
CRON=”/etc/cron.d/ddos.cron”//定时执行程序
APF=”/etc/apf/apf”
IPT=”/sbin/iptables”
##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with –cron
##### option so that the new frequency takes effect
FREQ=1 //检查时间间隔,默认1分钟
##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可
##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。
##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1 //是否屏蔽IP,默认即可
##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO=”root”//当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整

四、使用iftop查看详细网络状况

安装IFTOP软件:

yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make && make install

安装后,使用iftop运行,查看网络情况。TX,发送流量;RX,接收流量;TOTAL,总流量;Cumm,运行iftop期间流量;peak,流量峰值;rates,分别代表2秒、10秒、40秒的平均流量。

快捷键:h帮助,n切换显示IP主机名,s是否显示本机信息,d是否显示远端信息,N切换端口服务名称,b切换是否时数流量图形条。

五、升级LNMP中的NGINX到最新版

现在最新版是0.8.53,如果以后出新版,只要更新版本号就可以,在SSH里运行:

wget http://www.nginx.org/download/nginx-0.8.53.tar.gz
tar zxvf nginx-0.8.53.tar.gz
cd nginx-0.8.53
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cd objs/
cp nginx /usr/local/nginx/sbin/
/usr/local/nginx/sbin/nginx -t
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
/usr/local/nginx/sbin/nginx -v
cd ..
cd ..
rm -rf nginx-0.8.53
rm -rf nginx-0.8.53.tar.gz

六、常用netstat命令:

1.查看所有80端口的连接数

netstat -nat|grep -i “80″|wc -l

2.对连接的IP按连接数量进行排序

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n

3.查看TCP连接状态

netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn
netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’
netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}’
netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}’
netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn
netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]’ | sort | uniq -c

4.查看80端口连接数最多的20个IP

netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20

5.用tcpdump嗅探80端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’| sort | uniq -c | sort -nr |head -20

6.查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20

7.找查较多的SYN连接

netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

生成Certificate Signing Request(CSR)

众所周知,申请SSL证书前需要先生成证书注册请求,这里一般使用

openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr

这条命令来生成。生成过程中会填写一些信息,随便写就好。当然最好按实际的填。

Country Name (2 letter code) [AU]: GB
State or Province Name (full name) [Some-State]: Yorks
Locality Name (eg, city) []: York
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd
Organizational Unit Name (eg, section) []: IT
Common Name (eg, YOUR name) []: mysubdomain.mydomain.com
Email Address []:

Please enter the following ‘extra’ attributes to be sent with your certificate request

A challenge password []:
An optional company name []:

需要注意的是,CN(Common Name)这一项需要写你要申请的SSL证书所使用的域名。如果是通配符证书,则需要填写*.mydomain.com

生成结束之后,’server.csr’就是你的Certificate Signing Request(CSR),用文本编辑器打开,粘贴到申请证书的地方即可。

‘myserver.key’文件是我们的私钥,这个文件一定要妥善保存不能泄露,否则任何人都可以使用我们的证书了。

在生成的时候,去掉’-nodes’选项会将私钥加密,但是需要一个额外的密码。虽然这样更安全,但是在你将证书部署到Apache或者Nginx的时候你会发现,每次启动服务你都需要输入密码。所以建议还是使用为加密的私钥,方便服务器管理。

[优惠]SSL支持通配符证书 2.5刀/年

产品简介:

SSL Certificates – AlphaSSL (Standard/Wildcard)
SSL Brand: AlphaSSL
Alpha SSL is powered by GlobalSign, the International Certification Authority with its own highly trusted root CA certificates.
Validation Type: Domain Validation
Issuance: 20 Minutes
Encryption: 256bit
Reissue Fee: Free

支持通配符*,即绑定了*.imlonghao.com后,aa.imlonghao.com,bb.imlonghao.com,均可以使用此SSL证书!

根据评论,该优惠码是经常性,即续费同价!
购买地址:https://billing.centriohost.com/cart.php?a=add&pid=21

促销代码: LET2SSL

使用方法:

在Promo code处填入优惠码,认证即可获得优惠

 

 

ssl_1

 

sl_2

Macbook Pro的Home和End键

用了Macbook Pro已经有一年多了,很是惊叹于苹果的工业设计。另外,也对Mac OS X的设计理念深感敬佩。我想,如果我不是一个被Win荼毒了十几年的Win-er,基本上应该是非常习惯并且能轻松上手Mac的。

在MBP上,有几个我非常熟悉的键,我找不到了。那就是PageUp,PageDown和Home、End。失去了才觉得珍贵,以前键盘上有这几个键的时候,不觉的怎么好用了,但是一旦失去了,还真的挺不习惯的。

在网上查了一些资料,看到了替代的方法。在这里记录一下,主要应用场景,就是网页浏览的时候:

PageUp = Fn + UP
PageDown = Fn + DOWN
End = Fn + RIGHT
Home = Fn + LEFT

向前Delete=Fn+DELETE

上面提到的上下左右,就是指方向键。这只是一个替代方案,还是有其缺陷的,比如我发现当文本框获得焦点的时候,就会失灵。

在编辑的时候:

Home = Command + LEFT
End = Command + RIGHT

以上的键组合,基本上可以满足基本的使用,不过组合键总归是不如直接键来得方便。只好慢慢习惯了。

Nginx限制每个IP或虚拟机的并发连接数

摘自http://nginx.org/cn/docs/http/ngx_http_limit_conn_module.html

ngx_http_limit_conn_module 模块可以按照定义的键限定每个键值的连接数。特别的,可以设定单一 IP 来源的连接数。

并不是所有的连接都会被模块计数;只有那些正在被处理的请求(这些请求的头信息已被完全读入)所在的连接才会被计数。

配置范例

http {
limit_conn_zone $binary_remote_addr zone=addr:10m;

...

server {

...

location /download/ {
limit_conn addr 1;
}

指令

语法: limit_conn zone number;
默认值: —
上下文: http, server, location
指定一块已经设定的共享内存空间,以及每个给定键值的最大连接数。当连接数超过最大连接数时,服务器将会返回 503 (Service Temporarily Unavailable) 错误。比如,如下配置

limit_conn_zone $binary_remote_addr zone=addr:10m;

server {
location /download/ {
limit_conn addr 1;
}

表示,同一 IP 同一时间只允许有一个连接。

当多个 limit_conn 指令被配置时,所有的连接数限制都会生效。比如,下面配置不仅会限制单一IP来源的连接数,同时也会限制单一虚拟服务器的总连接数:

limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;

server {
...
limit_conn perip 10;
limit_conn perserver 100;
}

 

如果当前配置层级没有limit_conn指令,将会从更高层级继承连接限制配置。

语法: limit_conn_log_level info | notice | warn | error;
默认值:
limit_conn_log_level error;
上下文: http, server, location
这个指令出现在版本 0.8.18.
指定当连接数超过设定的最大连接数,服务器限制连接时的日志等级。

语法: limit_conn_zone $variable zone=name:size;
默认值: —
上下文: http
设定保存各个键的状态的共享内存空间的参数。键的状态中保存了当前连接数。键的值可以是特定变量的任何非空值(空值将不会被考虑)。 使用范例:

limit_conn_zone $binary_remote_addr zone=addr:10m;
这里,设置客户端的IP地址作为键。注意,这里使用的是$binary_remote_addr变量,而不是$remote_addr变量。$remote_addr变量的长度为7字节到15字节不等,而存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。而$binary_remote_addr变量的长度是固定的4字节,存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。一兆字节的共享内存空间可以保存3.2万个32位的状态,1.6万个64位的状态。如果共享内存空间被耗尽,服务器将会对后续所有的请求返回 503 (Service Temporarily Unavailable) 错误。

语法: limit_zone name $variable size;
默认值: —
上下文: http
这条指令在 1.1.8 版本中已经被废弃,应该使用等效的limit_conn_zone指令。该指令的语法也有变化:
limit_conn_zone $variable zone=name:size;

Apache 添加limitipconn模块并限制IP的并发连接数

安装&下载

首先到 http://dominia.org/djao/limitipconn2.html 获取最新版本的下载链接。我这里获取到的是:

http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2

wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2

bzip2 -d mod_limitipconn-0.24.tar.bz2

tar -xvf mod_limitipconn-0.24.tar

apxs2 -c -i -a mod_limitipconn.c

这里的apxs2是Ubuntu里面的一个可选组件,默认没有安装,需要自行使用apt-get install apache2-dev安装。

如果是CentOS,应该使用yum install httpd-devel来安装,而且安装之后的可执行程序名是apxs。

RH系的可以找httpd-devel的rpm包使用rpm命令安装,在此不再细说。

之后,检查httpd.conf或apache2.conf里面是否有LoadModule limitipconn_module modules/mod_limitipconn.so,如果有则正常,继续向下看:

###下面就是对web目录下的文件下载限制 

 #所限制的目录所在,此处表示主机的根目录
MaxConnPerIP 3 #所限制的每个IP并发连接数为3个
NoIPLimit image/* #对图片不做IP限制

 #所限制的目录所在,此处表示主机的/mp3目录
MaxConnPerIP 1 #所限制的每个IP并发连接数为1个
OnlyIPLimit audio/mpeg video #该限制只对视频和音频格式的文件

重启即可。

linux运维:Linux下添加新硬盘+分区及挂载详细步骤图解

原文地址:Linux下添加新硬盘,分区及挂载 作者:sjhf

挂载好新硬盘后输入fdisk -l命令看当前磁盘信息

200811221227366545284
可以看到除了当前的第一块硬盘外还有一块sdb的第二块硬盘,然后用fdisk /dev/sdb 进行分区
200811221227366641881
进入fdisk命令,输入h可以看到该命令的帮助,按n进行分区
200811221227366718341
这里输入e即分为逻辑分区,按p即分为主分区,我们要将这块盘分为主分区即输入p
200811221227366772225
到这里输入该主分区为第几个主分区,由于是新盘我们输入1来分第一个主分区
200811221227366848997
First Cylinder是选择该分区的起始磁盘数,这里可自定义也可不做选择,默认是1,如无特殊需求强烈建议选择默认,也就是1来分区(直接按回车)
200811221227366906209
接下来是定义该分区的大小,如果按默认(按回车)即是使用全部可用存储额,也可以是用M或m单位结尾的数字(大写M是大B的意思,如果输入1M实际上是X8也就是8m的空间),这里我们先分一个1G的空间,所以输入+1024m
200811221227366953843
之后输入w写入分区,等待结束皆可
200811221227367048972
再输入fdisk -l 可以看到我们刚才分的一个分区,之后用mkfs -t ext3 -c /dev/sdb1进行格式化,如有多个分区可把sdb1改成sdb2 sdb3…以此类推,具体可用fdisk -l看到每个分区的名字
200811221227367365971
上图蓝色部分是写硬盘卷标的,如不想要卷标可直接按回车,现在分区好了我们用mount 挂载一下该分区即可使用了,这里我把它挂载到mnt目录下,也可以自建一个目录挂载
200811221227367426106
来看一下分区大小是否和预定的一样,使用df -TH命令看一下当前挂载的分区和大小,看到我们刚分的分区了吧
200811221227367491115
如果想每次系统重启都能自动挂载该分区可修改/etc/fstab文件,在最后加一段 /dev/sdb1    /www    ext3    defaults 1 2 (格式说明:/dev/sdb1 代表哪个分区  ext3是该分区的格式 defaults 是挂载时所要设定的参数(只读,读写,启用quota等),输入defaults包括的参数有(rw、dev、exec、auto、nouser、async) ,1是使用dump是否要记录,0是不要。 2是开机时检查的顺序,是boot系统文件就为1,其他文件系统都为2,如不要检查就为0)
200811221227367562514

12个强大的Chrome插件扩展推荐

Chrome功能强大,也得益于其拥有丰富的扩展资源库。Chrome Web Store里有各种各样的插件,可以满足你使用Chrome时的各种要求。和Firefox一样,Chrome的扩展非常容易安装,而且非常容易卸载。与Firefox不同,Chrome的扩展不需要重新启动,并且不会有扩展插件会减小你的网页面积。在这里我总结出2013年 Chrome 的12款非常强大的扩展程序,供大家挑选分享。这些插件能不同程度地提升效率。诸如Turn off the light这些非常常用的我就不介绍了。

继续阅读: 12个强大 Chrome 插件推荐 (二)

所有的扩展程序都可以在Chrome Web Store在线搜索并下载。(除非你打不开Web Store)

Holmes

书签搜索工具。如果你有非常多的书签,多到你已经搞不清楚哪些放到哪里了,虽然在chrome的万能地址栏里可以简单搜索,但是毕竟不全面。Holmes可以实现实时搜索,从标题和地址匹配,达到快速找到你想要的书签的目的。你不用去层层叠叠的文件夹心酸地寻找了。

https://chrome.google.com/webstore/detail/holmes/gokficnebmomagijbakglkcmhdbchbhn

holmes

LastPass

密码管理软件。可以把你所有的密码信息保存起来,你再也无需记住复杂繁多的密码了,只需登录到lastpass,然后保存你的密码,lastpass会自动帮你完成登陆,不需要输入密码。它允许你从任何主流的密码存储器导入和导出密码,捕获其它管理器无法捕获的密码包括很多AJAX表单。也可轻松地创建强大的密码。敏感信息在上传之前已在本地计算机上加密,因此就算是LastPass的员工也无法得到密码信息。更好的事时,lastpass支持的不仅仅是Chrome,还有Firefox、opera,甚至IE。

https://chrome.google.com/webstore/detail/lastpass/hdokiejnpimakedhajhdlcegeplioahd?hl=zh-CN

LastPass-Chrome

Lazarus: Form Recovery

一款强大的急救软件。在你的浏览器发生崩溃、意外退出、结束进程时,可以借助此软件来回复你之前在浏览器页面上所输入的文本,而不需要悲惨的重新输入一次。

https://chrome.google.com/webstore/detail/lazarus-form-recovery/loljledaigphbcpfhfmgopdkppkifgno

lazarus-example-google

Minimalist for Everything

样式表修改插件。你可以利用它来实现站点的多种CSS自定义,或者让网站看起来更加清爽,或者让网站的风格更符合你的口味。例如隐藏某个新闻网站的广告,去掉GMail的导航条,甚至还可以做到邮件附件图标随着插件类型而自动改变。只需一次设置,即可云端同步,并且在站点加载时自动应用。不过因为它太强大了,很多人在安装后都不知道该怎样用。

https://chrome.google.com/webstore/detail/minimalist-for-everything/bmihblnpomgpjkfddepdpdafhhepdbek

minimalist

Secure Bookmarks

顾名思义,一款加密书签的插件。不过这可不是加密你整个书签,而是在这个插件的私密空间去添加私密的书签。除非输入密码,不然别人看不到你在这个插件里保存的书签。例如你想要给某人买礼物,中意的商品网页不想让人看到,或者你的私人信息页面想要隐藏,你都可以把它们添加到Secure Bookmarks里面。并且你只需要输入一次查看密码,在你的整个使用过程中都可以随时添加修改或访问。在你离开电脑时,只需点一下插件上的“Exit”,直到下一次输入密码访问。

https://chrome.google.com/webstore/detail/secure-bookmarks/leocjgngiajhfiikjolfhcpiokgbinep

secure-bookmarks

Text Mode

把整个网页全部变成只剩下文字吧!这个插件特别适合爱在网上看新闻或者看小说、阅读的同学。开启这个插件后,所有图片都会变虚线框,整个网页色调变成黑白,让你注意力集中在文本上,再也没有让人烦恼、分散注意力的令人脸红心跳的图片了!你只需尽情阅读就可以了。不过你不能拿它来看在线漫画。

https://chrome.google.com/webstore/detail/text-mode/adelhekhakakocomdfejiipdnaadiiib

Text-mode

 

Kloudless

这个插件可以帮助你把Gmail邮件里的附件转存到Box,Google Drive,以及Dropbox里。你不需要先下载,再登陆,再上传,现在只需几个按键即可。在使用前需要登录到相关服务获取权限。

https://chrome.google.com/webstore/detail/kloudless/nddbhiejgghlfkjcmhanfpbpjiliclkd

kloudless

Tabs Outliner

我们知道如果Chrome打开了超过十个标签页就会变得非常恐怖:你已经看不清楚标题了。有没有过因为标签页无序杂乱而导致重复打开了很多个相同标签的情况?如果你使用Tabs Outliner,情况就会有好转。它会在浏览器旁边新建一个窗口,把所有的标签页按照域名归类放好,如果你想要查找标签页的话就会变得十分容易。如果你的屏幕是宽屏的话更适合。

https://chrome.google.com/webstore/detail/tabs-outliner/eggkanocgddhmamlbiijnphhppkpkmkl

Tabs_Outliner

Scroll Marker

滚动很长的页面时眼睛花了不知道阅读到哪里了?别小瞧了这个插件,这个插件可以在你阅读长文本时,在页面底部(或者你想要的位置)增加一条半透明的线,随着页面滚动,这样子你在滚动时你可以根据这条线来确定自己的阅读位置来继续阅读,不会头昏眼花导致最后放弃阅读。一切样式颜色、延时时间都是可以自定义的。

https://chrome.google.com/webstore/detail/scroll-marker/jdoinodpdahlmpgmpmhonheidpjhhnid

Scroll_Marker

Chrome Office Viewer

这个插件很强大,可以在你不想打开office、不想上传到google docs或者没有安装office时,临时在直接就浏览器里面阅读office文件,从幻灯片到普通word都提供支持,非常方便。

https://chrome.google.com/webstore/detail/chrome-office-viewer-beta/gbkeegbaiigmenfmjfclcdgdpimamgkj?hl=zh-CN

Chrome-Office-Viewer

Textdown

这个插件极其简单简洁,安装后可以在新标签页的应用程序中找到它。功能类似临时记事本,不仅仅支持临时的粘贴,它还有着丰富的快捷键,支持语法自动补全、另存为各种各样的文件(例如CPP、js、html)等等丰富的功能。

https://chrome.google.com/webstore/detail/textdown/efalomlklhakojjbdfehfkgoicablooc

Textdown

HTTPS Everywhere

这个插件可以实现自动侦查网站的HTTPS支持情况,并自动切换到HTTPS SSL安全连接,实现客户端到服务器的内容传输加密,保障你的安全。如果你对自己的网上安全和隐私十分注重,那么推荐你安装这款插件。

https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp

https-everywhere