后台抓爬虫
今天看了一个关键字:健身
这个站点是没有健身这个专栏的
所以我相信最早那个ip的关键字是人为输入
再看上面的那个关键字搜索,
不看ip不会知道
来自360还不带bot,spider,UA都是iPhone的,够6的
要么是用户手机里安装了360相关产品,要么你懂的
就奇怪了,人家自己手动输入关键字
你360凭什么去模仿人家行为,万一给你模仿各种登陆,支付宝登陆什么的\
其实不止360还有百度,换UA来看
说多没图不好
请输入图片描述
请输入图片描述
请输入图片描述




在万网上登陆找到<域名>,选择转出的域名,点击<管理>

域名

如果没有关闭安全设置会有提示,看下面注意,跟着提示<去关闭>

关闭安全设置
需要注意的是,如果是在<安全设置>里把
<禁止域名转出万网><域名隐私保护服务><域名安全锁>这三项操作为<已关闭>不然转不出的
如果没有关闭,会有提示,跟着提示走<去关闭>即可
如果这步已经做好,就直接在下面的图示里点<索取域名转移码>
不得不说,每项关闭都需要短信通知,
好烦也感觉“很安全”,这里就不说了,你都转出了

关闭后是这样的

关闭设置

关闭后进域名管理域名转出万网,点索取域名转移码

转出的域名

接着就是验证手机核对发送验证码的邮箱也是在万网上的最后一步也是很重要的一步

验证手机
核对发送验证码的邮箱
以上在万网转出域名的操作基本就结束了,会在邮箱里收到万网给你的转移码

相关:
https://v2ex.com/t/266778
https://www.zhihu.com/question/41864611 (推荐你看这个)



虽然我们在VPS上搭建网站比网站比较自由,但是空间的安全设置都需要我们自己来做。一旦网站空间或者网页的不安全,可能会通过提权的方式影响其他的网站。当然,具体的安全老左不是太懂。主要是今天上午在遇到一个问题,由于转移出来的网站文件都是777权限,然后搬迁至主机中导致403错误提示,这是需要我们对所有的文件夹设置755,所有的网页文件设置644才可以解决。
很多人会发现,如果手工设置会非常的麻烦,因为每个文件夹下会有文件夹,也有文件。有没有一个命令可以直接设置呢?

SSH命令方法1

find . -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \;

SSH命令方法2

find ./ -type d -print|xargs chmod 755;
find ./ -type f -print |xargs chmod 644

推荐方法:

chmod 644 -R ./
find ./ -type d -print|xargs chmod 755;

测试的时候发现设置644的时候有点问题。
所以,推荐方法里面,我先用chmod 全部设置644,
再用find把目录部分设置成755。
注意./是表示在网站代码所在的跟目录设置的哦。

通过以上的任意一个方法,都可以解决设置文件夹755,网页文件644权限。

阅读全文


2016-03-25 00:00更

好吧,有时候想不出名都不容易
在后台看到python-requestsCPython竟然还有UA为空的爬虫,哥们,不带这么玩的
看了一下浏览器User-Agent大全,您就不能随便模仿一个UA来爬吗

2015-11-22 22:36

看了下日记
好多爬虫,个人小站
爬什么爬!有什么好爬的

不要流量不要出名!!!

果断ban之:在域名.confserver设置为

server {
server_tokens off; # 不透露 nginx 的版本
#禁止指定UA及UA为空的访问
if ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java|Jullo|Apache-HttpAsyncClient|UniversalFeedParser|BOT/0.1|YandexBot|FlightDeckReports|Linguee Bot|HaosouSpider|AhrefsBot|MQQBrowser|Mobile Safari|bingbot|Digincore bot|Python-urllib|python-requests|CPython|micromessenger|YandexBot|meanpathbot|360Spider|YisouSpider|qihoobot|Baiduspider|UptimeRobot|Twitterbot|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|linkdexbot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|MSIE 6.0|Tomato Bot|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" )
        { 
        return 403; 
        }
#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
     return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 403;
}
    ssl on;
...

重启nginx:service nginx restart
在ssh下测试:curl -I -A "YisouSpider" https://m69w.com
返回403则生效,看到没googlebot不止一个IP,禁IP段还要手动添加!!!

66.249.67.173 - - [23/Nov/2015:11:51:11 +0800] "GET /21.html HTTP/1.1" 403 162 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html)"
66.249.67.164 - - [23/Nov/2015:12:47:09 +0800] "GET /reprint/2/ HTTP/1.1" 403 162 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html)"

屏蔽360、scanv、QQ管家等IP扫描

这个方法需要开启 iptables ,把下面的IP段加入到 iptables 中。
如果没有启动可以联系联系服务商帮忙开启。独立的服务器和云主机可以自行安装启动。

vi banip.sh

#!/bin/bash
echo "banip"
iptables -A INPUT -s 221.204.203.0/24 -j DROP
iptables -A INPUT -s 183.136.133.0/24 -j DROP
iptables -A INPUT -s 183.60.211.0/24 -j DROP
iptables -A INPUT -s 220.181.55.0/24 -j DROP
iptables -A INPUT -s 101.226.4.0/24 -j DROP
iptables -A INPUT -s 140.207.197.0/24 -j DROP
iptables -A INPUT -s 220.170.91.0/24 -j DROP
iptables -A INPUT -s 171.8.167.0/24 -j DROP
iptables -A INPUT -s 180.153.235.0/24 -j DROP
iptables -A INPUT -s 122.143.15.0/24 -j DROP
iptables -A INPUT -s 27.221.20.0/24 -j DROP
iptables -A INPUT -s 222.186.189.0/24 -j DROP
iptables -A INPUT -s 202.102.85.0/24 -j DROP
iptables -A INPUT -s 61.160.224.0/24 -j DROP
iptables -A INPUT -s 112.25.60.0/24 -j DROP
iptables -A INPUT -s 182.140.227.0/24 -j DROP
iptables -A INPUT -s 221.204.14.0/24 -j DROP
iptables -I INPUT -s 123.151.39.0/24 -j DROP
iptables -I INPUT -s 182.140.168.0/24 -j DROP
iptables -I INPUT -s 219.153.15.0/24 -j DROP
iptables -I INPUT -s 220.181.158.0/24 -j DROP
iptables -I INPUT -s 111.161.51.0/24 -j DROP
iptables -I INPUT -s 123.125.160.0/24 -j DROP
service iptables save
echo "ok"

chmod +x banip.sh && ./banip.sh

nginx下添加禁止访问IP列表,屏蔽soso蜘蛛

新建 /usr/local/nginx/conf/blockips.conf 需要屏蔽的ip列表文件

vi /usr/local/nginx/conf/blockips.conf

加入以下代码:

#屏蔽soso蜘蛛IP
deny 113.108.12.154;    #此为搜搜蜘蛛IP
deny 124.115.0.0/24;    #此为屏蔽搜搜蜘蛛124.115.0.1 ~ 124.115.0.255整个网段IP
deny 124.115.4.0/24;    #此为屏蔽搜搜蜘蛛124.115.4.1 ~ 124.115.4.255整个网段IP

单独网站屏闭IP的方法:

在server"{}",在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问;
#屏蔽单个IP的命令是
deny 123.45.6.7
#封整个段即从123.0.0.1到123.255.255.254的命令
deny 123.0.0.0/8
#封IP段即从123.45.0.1到123.45.255.254的命令
deny 124.45.0.0/16
#封IP段即从123.45.6.1到123.45.6.254的命令是
deny 123.45.6.0/24

屏蔽整个网段的IP时有可能会造成错杀,不过几率很低。
继续,将blockips.conf 加入到nginx配置中

vi /usr/local/nginx/conf/nginx.conf

在http中加入代码

http {
    #载入禁止访问的IP配置
    include blockips.conf;    #处理好相对目录问题

    ...(以下省略)

相关百度搜索引擎蜘蛛所有ip作用的分析详解

http://help.baidu.com/webmaster/add#1






http://wangye.org/blog/archives/538/

#!/bin/bash
 
# Author: wangye
# For more information please visit:
# http://wangye.org/
# 请在使用本脚本前做好测试工作,脚本功能仅供参考,
# 对于可能的潜在问题造成损失,本人不承担责任。
 
MYSQL_USERNAME="mysql-username"
MYSQL_PASSWORD="mysql-password"
 
# 下面这行指示接收备份文件的电子邮件地址
BACKUP_RECEVIER="email-address-recive-backup@example.com"
BACKUP_FILENAME="/var/sample-site" # 需要备份的目录
BACKUP_DBNAME="sample" # 需要备份的数据库名称
BACKUP_PREFIX="backup_" # 备份文件的前缀
 
# 下面一些命令路径可以通过whereis获取
MYSQLDUMP_PATH="/usr/bin" # mysqldump 命令所在的路径
TARCOMPRESSOR_PATH="/bin" # tar 命令所在的路径
RM_PATH="/bin" # rm 命令所在的路径
MUTTMAIL_PATH="/usr/bin" # mutt 命令所在的路径
TEMP_PATH="/tmp" # 临时目录
 
# 产生临时名称形如 backup_20120221 名称
make_backup_name() {
    TEMPNAME=${BACKUP_PREFIX}$(date +"%Y%m%d")
}
 
# 产生临时备份目录
make_backup_dir() {
    make_backup_name
    TEMPDIR=${TEMP_PATH}/$?
    mkdir -m 777 -p $TEMPDIR
}
 
backup_files() {
    ${TARCOMPRESSOR_PATH}/tar -zcvf \
        ${TEMP_PATH}/${TEMPNAME}.tar.gz ${BACKUP_FILENAME}
}
 
backup_databases() {
    local EXPORTDIR=$1
    ${MYSQLDUMP_PATH}/mysqldump -u${MYSQL_USERNAME} \
      -p${MYSQL_PASSWORD} \
      ${BACKUP_DBNAME} >${EXPORTDIR}/${BACKUP_DBNAME}.sql
 
    ${TARCOMPRESSOR_PATH}/tar -zcvf \
      ${TEMP_PATH}/${TEMPNAME}_${BACKUP_DBNAME}.tar.gz ${EXPORTDIR}
}
 
send_byemail() {
    echo "**IMPORTANT BACKUP** Hi! :-)\n\n$(uname -a)"| \
        $MUTTMAIL_PATH/mutt -s "** System Backup$(date +%Y-%m-%d)" \
            -a ${TEMP_PATH}/${TEMPNAME}_${BACKUP_DBNAME}.tar.gz \
             ${TEMP_PATH}/${TEMPNAME}.tar.gz -- \
            ${BACKUP_RECEVIER}
}
 
# 清除产生的临时文件(使用了rm -rf怕怕中,不过目标路径正确就OK啦)
cleanup() {
    $RM_PATH/rm -rf $TEMPDIR
    $RM_PATH/rm -rf ${TEMP_PATH}/${TEMPNAME}_${BACKUP_DBNAME}.tar.gz
    $RM_PATH/rm -rf ${TEMP_PATH}/${TEMPNAME}.tar.gz
}
 
main() {
   make_backup_dir
   backup_databases $TEMPDIR
   backup_files
   send_byemail
   cleanup
}
 
main
 
exit 0

http://blog.tt2u.com/archive/363.html

此脚本的正常使用,要保证VPS支持邮件sendmail 函数,可以用探针中的邮件测试功能测试一下。则要检查邮件组件的正确运行。

1、将下面的代码保存为automysqlbackup.sh并上传至/home/www/目录下

mysqldump -uuser -ppassword db1 > /home/www/backups/db1.sql
mysqldump -uuser -ppassword db2 > /home/www/backups/db2.sql
tar zcf /home/www/backups/databackup.sql.tar.gz  /home/www/backups/
echo “主题:数据库备份” | mutt -a /home/www/backups/databackup.sql.tar.gz -s “内容:数据库备份”admin@tt2u.com
rm -r /home/www/backups/*

其中user为数据库用户名,password为用户密码,db1db2为数据库名,/home/www/目录可自定义,admin@tt2u.com邮箱可自定义。

2、将automysqlbackup.sh,修改其属性755

chmod 755 /home/www/automysqlbackup.sh

3、然后利用crontab 实现自动备份,用vi打开/etc/contab文件,在最下行添加以下代码:

00 00 * * * /home/www/automysqlbackup.sh

这样就实现了每天00:00自动备份mysql数据库并发送到Email

脚本解释:
第一、第二句是操作备份db1db2 数据库名,可以依次增加。-u后面的是数据库用户名 -p后面的是数据库密码 无空格。
第三句是将 backups 文件夹里面的数据文件压缩为文件名:databackup.sql.tar.gz
第四句是将压缩了的数据库文件发送到指定的邮箱
最后一句是把发送完成后删除backups下的内容

http://www.loveyu.org/2317.html

直接用脚本,这个不是备份数据库的,数据库的差不多,由于文件可能比较大,所以用了rar的分卷压缩

  可能文件比较大的时候会照成无法发送,所以可以将分段设置的小点,比如25M,30M左右

  个人呢觉得QQ邮箱存这个东西比较不错,我就这样做的,一分钟多久收到了,速度应该是超级快的。

  代码中有部分内容需要修改,自己改改就行,同时需要两个组件,rar和mutt,可以自己在网上搜索如何安装,也可是使用crontab来定时备份!

#!/bin/sh

cd /home/backup/
rm -rf my-blog
mkdir my-blog
cd my-blog
rar a -r -inul -v30000k my_blog.rar /home/web/loveyu.org/

file="/home/backup/my-blog/my_blog"
mail_date=`date "+%Y-%m-%d %H:%M:%S"`
email="admin@example.com"

if [ -f "$file.rar" ] ; then
    echo "file exists"
    echo "web-backup $mail_date" | mutt -s 'web backup all'  -e 'set copy=no' -e 'set from=sql<backup@host.loveyu.org>' -a 'my_blog.rar' "$email"
else
    i="1"
    while [ -f "$file.part$i.rar" ]; do
        echo "ok $i"
        echo "web-backup $i $mail_date" | mutt -s "web backup $i"  -e 'set copy=no' -e 'set from=sql<backup@host.loveyu.org>' -a "my_blog.part$i.rar" "$email"
        i=$(($i+1))
    done
fi

http://www.tennfy.com/355.html

安装sendmail组件

这里以debian为例介绍下:

apt-get install sendmail-bin
apt-get install sendmail mutt
 
#如果不行,就执行
apt-get install -f sendmail mutt

运行以上代码,即可安装。

注意事项
VPS备份脚本

#!/bin/bash
MYSQL_USER="root"                                #mysql用户名
MYSQL_PASS="xxxxx"                               #mysql密码
MYSQL_DATABASENAME="xxxxx"                       #要备份的数据库名
MAIL_TO="xxx@xxx.com"                            #数据库发送到的邮箱
WEB_DATA="/var/www/xxx"                          #要备份的网站数据
#你要修改的地方从这里结束
#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
#删除本地3天前的数据
rm -rf /var/www/Data_$(date -d -3day +"%Y%m%d").tar.gz /var/www/Web_$(date -d -3day +"%Y%m%d").tar.gz
#导出mysql数据库
mysqldump -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DATABASENAME > /var/www/wordpress.sql
#压缩数据库
tar zcvf /var/www/$DataBakName /var/www/wordpress.sql
rm -rf /var/www/wordpress.sql
#压缩网站数据
tar zcvf /var/www/$WebBakName $WEB_DATA
tar zcvf /var/www/backup.tar.gz /var/www/$WebBakName  /var/www/$DataBakName
echo "主题:vps备份" | mutt -s "内容:vps备份" $MAIL_TO -a /var/www/backup.tar.gz

将上述代码保存为backup2mail.sh并上传到vps空间中,我上传到的路径是/var/www。

设置定时运行

给脚本添加执行权限:

chmod +x /var/www/backup2mail.sh

利用系统crontab实现每天自动运行:

crontab -e

输入以下内容:

00 00 * * *  /var/www/backup2mail.sh

其中00 00为时间分/小时,可自行修改,例如:30 12 *,就是每天12.30运行这个脚本。

邮箱接收

每天发送一封邮件也很烦,那怎么办呢,163有个功能叫订阅邮件,你可以将备份邮件分类至订阅邮件中,设置每7天删除一次,岂不是就完美了。

一键备份脚本backup.sh

1
做网站最重要的是什么?数据!数据,是网站之本,备份,是每一个站长都应该重视的事情。但同时,备份也是一件繁琐和重复的事情。所以,这些事情,肯定能做到自动化的。
下面来介绍一下这个一键备份脚本 backup.sh。

总结一下 backup.sh 特点:

1、支持 MySQL/MariaDB 的数据库全量备份;
2、支持指定目录或文件的备份;
3、支持加密备份文件;
4、支持一键上传至 Google Drive(需先安装 gdrive 并配置)

2016 年 8 月 21 日更新:

1、新增:指定 MySQL/MariaDB 的数据库名进行备份,可以同时指定多个;
2、新增:删除指定天数本地旧的备份文件。

教程模式开启:

1、下载该脚本并赋予执行权限

wget https://github.com/teddysun/across/raw/master/backup.sh
chmod +x backup.sh

2、修改并配置脚本
请使用 vim 或 nano 等工具来修改。

关于变量名的一些说明:

ENCRYPTFLG(加密FLG,true 为加密,false 为不加密,默认是加密)
BACKUPPASS(加密密码,重要,务必要修改)
LOCALDIR(备份目录,可自己指定)
TEMPDIR(备份目录的临时目录,可自己指定)
LOGFILE(脚本运行产生的日志文件路径)
MYSQL_ROOT_PASSWORD(MySQL 或 MariaDB 的 root 用户密码)
MYSQL_DATABASE_NAME(指定 MySQL 数据库名,留空则是备份所有数据库)
※ MYSQL_DATABASE_NAME 是一个数组变量,可以指定多个。举例如下:

MYSQL_DATABASE_NAME[0]="phpmyadmin"
MYSQL_DATABASE_NAME[1]="test"

BACKUP(需要备份的指定目录或文件列表,留空就是不备份目录或文件)
※ BACKUP 是一个数组变量,可以指定多个。举例如下:

BACKUP[0]="/data/www/default/test.tgz"
BACKUP[1]="/data/www/default/test/"
BACKUP[2]="/data/www/default/test2/"

LOCALAGEDAILIES(指定多少天之后删除本地旧的备份文件,默认为 7 天)

一些注意事项的说明:

1)脚本需要用 root 用户来执行;
2)脚本需要用到 openssl 来加密,请事先安装好;
3)脚本默认备份所有的数据库(全量备份);
4)备份文件的解密命令如下:

openssl enc -aes256 -in [ENCRYPTED BACKUP] -out decrypted_backup.tgz -pass pass:[BACKUPPASS] -d -md sha1

5)备份文件解密后,解压命令如下:

tar -zxPf [DECRYPTION BACKUP FILE]

解释一下参数 -P:

tar 压缩文件默认都是相对路径的。加个 -P 是为了 tar 能以绝对路径压缩文件。因此,解压的时候也要带个 -P 参数。

3、配置 gdrive 命令

gdrive 是一个命令行工具,用于 Google Drive 的上传下载等操作。官网网站:
https://github.com/prasmussen/gdrive

当然,你可以用以下的命令来安装 gdrive。

x86_64(64位):

wget -O /usr/bin/gdrive http://dl.teddysun.com/files/gdrive-linux-x64
chmod +x /usr/bin/gdrive

i386(32位)

wget -O /usr/bin/gdrive http://dl.teddysun.com/files/gdrive-linux-386
chmod +x /usr/bin/gdrive

然后,运行以下命令开始获取授权:

gdrive list

根据提示用浏览器打开 gdrive 给出的 URL,点击接受(Accept),然后将浏览器上显示出来的字符串粘贴回命令行里,完成授权。

4、运行脚本开始备份

./backup.sh

脚本默认会显示备份进度,并在最后统计出所需时间。
如果你想将脚本加入到 cron 自动运行的话,就不需要前台显示备份进度,只写日志就可以了。
这个时候你需要稍微改一下脚本中的 log 函数。

log() {
    echo "$(date "+%Y-%m-%d %H:%M:%S")" "$1"
    echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

改为:

log() {
    echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

关于如何使用 cron 自动备份,这里就不再赘述了。