原创

如何防止运营商内容劫持(http劫持)

如何防止运营商内容劫持(http劫持)

目前来看,根据我的经验,运营商内容劫持是通过白名单策略进行的,主要是针对高流量的访问地址,如微信API,jiathis分享代码,微博网页等进行.

主要表现为js脚本注入,和 html内容 注入.自己的JS代码.

因此,就预防来说,比如,页面引入了,第三方这类JS代码的,要改为HTTPS方式如

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

改为

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

 

二是自己站的页面也可能被注入广告代码,一般是在 <body>标签后面,或</body>标签前面注入,所以,我们可以在页面最开始,和最后,分别放入以下代码

 

<!--!DOCTYPE html>
<html>
<head>	 
</head>
<body>	 
</body>
</html-->

以达到迷惑敌人的目的,这段代码,就是引诱作用, 使运营商注入了也不会显示出来,因为注释掉了.

 

三是使用CSP 全称为 Content Security Policy,即内容安全策略。主要以白名单的形式配置可信任的内容来源,在网页中,能够使白名单中的内容正常执行(包含 JS,CSS,Image 等等),而非白名单的内容无法正常执行,从而减少跨站脚本攻击(XSS),当然,也能够减少运营商劫持的内容注入攻击。

四是全站使用HTTPS啦,这是最好的方法,但是也要注意,引入第三方网站的JS时,不能用HTTP方法,要改为HTTPS方式,如果第3方网站 不支持HTTPS连接,那就可以把第三方网站的JS保存下来,放到自己网站上,进行HTTPS连接.

 

 

 …

流媒体:ffmpeg生成HLS的m3u8与ts片段

流媒体:ffmpeg生成HLS的m3u8与ts片段

 

转换方式一

1.直接把媒体文件转为ts

ffmpeg -i cat.mp4 -c copy -bsf h264_mp4toannexb cat.ts

2.使用segment参数进行切片

ffmpeg -i cat.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 2 cat_output%03d.ts

 

 

转换方式二

1.ffmpeg切片命令,以H264和AAC的形式对视频进行输出

ffmpeg -i

百度开源深度学习框架PaddlePaddle安装配置

一、环境配置

PC机一台+UBUNTU 16.04系统

二、过程

1、使用Docker安装PaddlePaddle

1)在Ubuntu 上安装 Docker: 参考 http://blog.p2hp.com/archives/4809

2)安装完后在命令行键入sudo service docker start和sudo docker run hello-world,验证Docker正确安装;

3)在命令行键入     sudo docker run -it paddlepaddle/paddle:0.10.0rc3-noavx /bin/bash开始下载安装Paddle docker,由于网络环境不同,下载速度会有所差异,等待Paddle docker的下载和安装

4)安装完成后,你会发现命令行发生变化了,变成了root@e1f3456e7992:/#,OK,安装成功

2、运行一个PaddlePaddle的Demo

我们以quick_start为例,

1)首先,从github上将paddle项目拉取到本地,或者从github上直接下载项目的zip压缩包:点我进入PaddlePaddle github项目

2) 进入/home/yangyanbin/下载/Paddle-develop/v1_api_demo/quick_start/data

3)在命令行键入 bash ./get_data.sh 下载实验数据

4)启动paddle的docker镜像

在命令行键入 …

php开发基于mongodb数据库的字段类型问题

比如下面的数据结构

{
    'field_1': 1,
    'field_2': '1',
    'field_3': true
}

在脚本语言里,这三个值是相等的,但mongodb可不这样认为,如果你用string类型去寻找field_1的值,那么永远找不到。

可是像在php这种弱类型语言里,本来就是string,int傻傻分不清楚,所以使用mongodb的php程序员经常会出现以下杯具场景,你存储的时候主键是一个用函数生成的int型数字,但取出记录的时候可能直接使用前端传递过来的GET参数,很不巧它只能是一个string类型,这样你就永远找不到这条记录了。

解决以上问题,我觉得一开始就用php7的标量类型约束,最好启用严格模式是个好习惯,这样类型不对了,能有个提示,你就可以进行类型转换了。

 

转载请注明:http://blog.p2hp.com/archives/4708…

Nginx开启网站HTTPS 访问 –申请Let’s Encrypt免费SSL证书过程及常见问题

Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。

Let’s Encrypt免费SSL证书的出现,也会对传统提供付费SSL证书服务的商家有不小的打击。到目前为止,Let’s Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。…

EMQTT启用密码认证

EMQTT启用密码认证

权限认证

修改etc/emq.conf中:

mqtt.allow_anonymous = true 改为 false

启用 用户名密码认证

基于MQTT登录用户名(username)、密码(password)认证。

etc/plugins/emq_auth_username.conf中配置默认用户:

auth.user.$N.username = admin
auth.user.$N.password = public
启用`emq_auth_username`_插件:

./bin/emqttd_ctl plugins load emq_auth_username
使用’./bin/emqttd_ctl users’命令添加用户:(可选)
$ ./bin/emqttd_ctl users add <Username> <Password>

 

更进一步 还可以定义ACL访问控制规则:

规则定义在etc/acl.conf。

注:改了密码后,原来的密码还能用,需要删除emqtt的数据库 (bug)…

Page 1 of 1012345...10...Last »