百度云加速 真垃圾

之前用了百度云加速,开始还是觉得不错的,毕竟免费,而且一个顶级域名支持10子域名,也支持https,还支持cdn加速,但是就在昨天,su.baidu.com竟然给崩了。

事情是这样的,本来在测试自己的一个接口,结果返回异常,猜测是服务挂了,连忙去查看服务状态,果然,然后请求自己的官网,结果是访问异常,太扯了,怀疑被攻击了,连忙登陆su.baidu.com,结果一看官网也挂了,这不是开玩笑吧,堂堂百度竟然挂了,然后请朋友帮忙测试一下官网,确定是挂了,然后只有去修改dns,先直接回源到源站,为了防止被搞,还是将几个重要的子域名迁到了加速乐,结果了 加速乐不支持https ,尼玛真是坑呀,被逼无奈,只有用A解析了。

今早一来 ,发现su.baidu.com恢复了,赶忙把dns改了回来,结果又发现,http没问题,但是https报错了,一直找原因,最后想想,是不是云加速的证书失效了,结果发现没有失效,心想是否是昨天的故障导致节点上的证书丢失了,然后重新部署了节点证书,果然恢复了。

这次事故得到了几点启示:

1.一定要做监控,发现异常时间有点晚

2。一定要有后备,发现问题,要么bypas,要么迁移,应急演练很重要呀

3。免费的东西,真心有好有坏,只有碰运气了

php的curl如何获取到重定向后的页面内容

一直在用php在写爬虫,好久没遇到过被爬的页面被重定向了。
在curl的时候 需要配置一个参数
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
这句加上可以允许curl获取到跳转后的网页内容,
默认是不获取自动跳转到的,加上这句就可以了,
又可以愉快的Spider了

chatgpt强势来袭

chatgpt无疑问是目前最火的人工智能话题,简单试用了下,确实比其他的国内的人工智障(天猫精灵,小爱,小度)好太多,主要得益于人工智能的训练模型和数据样本,算力的强劲提升。
这个里程碑式的产品,必将改变人们的生活。
从好的方面来看,太多了 ,chatpgt标志着,人工智能已经迈入了一个新的时代。
从不好的方面
1.确实可能会影响一部分人的就业
2.最大的担忧,就如周鸿祎所说,如果chatgpt等人工智能随着算力的提升和知识的自我学习,很快将超越人类,然后逐渐有了自我意识,可能会把人类视为低等生物,进而毁灭人类,有了意识,就不再是一个工具,而是一个新的生物。

php获取post参数的几种方式

PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。

php获取post参数的几种方式

1、$_POST[‘paramName’] 只能接收Content-Type: application/x-www-form-urlencoded提交的数据…php会将http请求body相应数据会 填入到数组$_POST,填入到$_POST数组中的数据是进行urldecode()解析的结果。(其实,除了该Content-Type,还有 multipart/form-data表示数据是表单数据)

2、file_get_contents(“php://input”) 适用大多数类型的Content-type

php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype=”multipart/form-data”。

3、$GLOBALS[‘HTTP_RAW_POST_DATA’]; 总是产生 $HTTP_RAW_POST_DATA  变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA  对于 enctype=”multipart/form-data”  表单数据不可用。

如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS[‘HTTP_RAW_POST_DATA’]来接收,比如 text/xml 或者 soap 等等。需要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变 量$http_raw_post_data。

1,Coentent-Type仅在取值为application/x-www-data-urlencoded和multipart/form- data两种情况下,PHP才会将http请求数据包中相应的数据填入全局变量$_POST
2,PHP不能识别的Content-Type类型的时候,会将http请求包中相应的数据填入变量$HTTP_RAW_POST_DATA
3, 只有Coentent-Type不为multipart/form-data的时候,PHP不会将http请求数据包中的相应数据填入php: //input,否则其它情况都会。填入的长度,由Coentent-Length指定。
4,只有Content-Type为application/x-www-data-urlencoded时,php://input数据才 跟$_POST数据相一致。
5,php://input数据总是跟$HTTP_RAW_POST_DATA相同,但是php://input 比$HTTP_RAW_POST_DATA更凑效,且不需要特殊设置php.ini
6,PHP会将PATH字段的query_path部分,填入全局变量$_GET。通常情况下,GET方法提交的http请求,body为空。

推荐一款免费开源的安全风险识别系统

目前安全形势日益严峻,很多中小公司在自身业务场景面临巨大的风险,比如在电商场景下,很多羊毛党团队对你的营销活动,如打折,秒杀,拼团等虎视眈眈,各种电话卡,各种群控手机,早已做好疯狂下单的准备。

在黑灰产已经规模化的背景下,很多中小公司根本没有安全团队,无法应对黑灰产的突袭。组建安全风控团队需要大量资金,也需要时间。

这里给大家安利一款风险识别的工具,免费开源

https://github.com/menglike/risk_indetified

描述:可以对[手机号]/[ip]/[邮箱]/[收货地址]进行风险识别

IP风险识别

IP风险识别产品适用于帮助用户发现账户被盗行为,可以运用到网站的登录、下单、付款、提现等业务流程中,通过传入识别所需信息,系统自动返回账户登录风险情况。客户可以根据返回的风险信息自行执行处置动作(如短信验证、身份证验证、人脸验证、锁定账户等)。

手机号风险识别

手机号风险识别产品适用于帮助用户发现在营销活动中出现的作弊、薅羊毛、套利等风险,可以运用到限时抽奖、免费拉新、优惠折扣、推广返利等类型活动中,通过传入识别所需信息,系统自动返回营销风险情况,用户可以将风险返回结果应用到营销资源差异化投放中(如打标、阻断、调整中奖/券概率等)。

邮箱画像

邮箱画像产品适用于帮助用户发现邮箱风险,可以运用到用户的注册、登录、修改信息等业务流程中,通过传入邮箱信息,系统自动返回邮箱风险情况。用户可以根据返回的风险标签个性化处理账户及账户行为(如打标、阻断、用户挑战等)。

地址评分

地址评分产品适用于帮助用户发现无效地址,可以运用到用户的注册、下单、修改信息等业务流程中,通过传入地址信息,系统自动返回地址风险情况。用户可以根据返回信息执行后续操作(如核实业务信息,降低处理优先级等)。

架构:该工具使用Golang+Amis进行开发


主要作用:识别用户常见属性的风险值


适用场景:电商活动,例如拉新,秒杀,促销等场景

部署方式:

  1. 直接下载源码,编译执行,go run main.go
  2. 启动默认端口为9999
  3. 访问页面 http://127.0.0.1:9999
  4. 目前单个ip每天的请求量是100次
  5. 如果需要更大的调用量,请联系wx:cqwanhl

页面预览:

搞懂了waf架构的原理

一般来说,waf会部署在一台服务器,举例ip为129.39.13.12,需要保护的域名为www.sss.com, waf的域名为 waf_0wxefsfadfa2312_test.sss.com,真实的主机ip为44.33.2.1 ,在Dns解析里面需要配置为:

www.sss.com -> cname-> waf_0wxefsfadfa2312_test.sss.com

然后在129.39.13.12 部署安装 nginx+lua的waf,需要在nginx配置一个反向代理

举例:

server{

server_name waf_0wxefsfadfa2312_test.sss.com;

location /{

proxy_pass www.sss.com;

}

}

然后129.39.13.12 需要知道 www.sss.com如何解析

这个地方就有很多的处理方式,通过网络策略来实现

或者最简单的方式,修改本机的hosts

这里就使用这种方法:修改 vi /etc/hosts

配置如下: www.sss.com 44.33.2.1 就可以了

当然 你需要在真实的服务器上 配置好nginx的虚拟主机,不然就gg了

其实原理还是比较简单的,waf所在主机就是一个代理,当浏览器请求经过代理时,会进行各种waf规则过滤,过滤完之后,会将请求转发到后端真实的服务器上。

自己开发的一个chrome插件

这个插件是跟安全相关的小插件,功能是输入ip地址,可以查看ip的归属地,风险值,标签。

功能很简单,主要是把chrome插件的开发方式走一遍,然后熟悉下用户与浏览器的交互流程,整个过程没有太难的地方,就是简单js,jquery语法,基本上没有用到样式,页面不怎么美观,不过无所谓了。

virtualenv 从一台主机迁移到另外一台主机

之前碰到过 将python的virtualenv从本机进行不同位置的迁移,但是现在来了个新需求,virtualenv需要从一台主机迁移至另外一台主机,该怎么做呢?

第一步,先打包环境

zip -r hello.zip hello_env

hello_env是环境的文件夹名称

第二步,打包python3的相关库

位置是在 /usr/lib64/python3.x

zip -r python3.x.zip python3.x

第三步,将两个包传送到目的主机哈桑

可以使用scp命令可以快速完成

scp python3.x.zip root@l92.168.10.2:/usr/lib64/

第四步,解压

unzip python3.x.zip 即可

之前在操作过程,没有将python3.x.zip迁移过来,导致pip 报错

not found modules logging.

not found modules contextlib

selenium-wire 比selenium更好使

最近在做项目的过程,需要获取到 请求头的csrftoken,这个参数是需要来防止csrf攻击的,然后页面请求是通过selenium去实现的,无法获取到实际请求里面的详细信息,比如content-type ,user-agent ,csrf-toke等封装在header里面的数据。

创建浏览器驱动也很简单,和selenium一样的

from seleniumwire import webdiver

driver = webdriver.Chrome()

driver.get(“http://www.baidu.com’)

for i in driver.requests:

print( i.headers[‘content-type’] )

重装系统那些事(1)

哎,前面不小心装电脑下班回家,把一直用的好好的笔记本摔坏了,把左上角的卡柱给摔断了,导致机身裂开,也无法合拢,自己尝试修复,也最终以失败告终。

然后我就去找修理师傅,修理师傅说,需要更换笔记本的底壳,我心想底壳更换有点麻烦,结果问了下价格,还要300元,我去,太贵了,本来就买个macpro,直接放着没用,想着用还有个的老神舟,结果神舟机都是2011年的机子了,结果能开机但无法使用。

想着说,以前的winpe盘不见了,准备找公司的桌面运维同事帮忙重装下,结果第二天拿到公司,同事说只有公司的系统镜像,额,这尴尬了,公司的系统镜像装上了有很多的限制呀,当时多问了一句,有没有其他的win10镜像,结果同事说没有,我也是惊了,专业的同事,连个系统镜像盘都没有,或许是不愿意吧。当然这个能理解。