这个不需要多说,一切为了信息安全.
对于HTTPS站点,其可能包含一些非HTTPS的内容或资源(即混合内容).
例如css js使用cdn的情况,本站是https,而cdn不是.
csp策略的作用就是让指定的css js可以执行,而没指定的就被block了.
csp策略,既可以定义在服务端(例如php中/nginx中),也可以定义在web端.
简单举个例子(只允许引用https的资源):
#php服务端
header("Content-Security-Policy: default-src https:");
#nginx
add_header Content-Security-Policy "default-src https:"
#html
<meta http-equiv="Content-Security-Policy" content=" default-src https:">
对于定义在web端还是服务端,各有各自的优势;比如服务端更容易控制及修改,但是容易被运营商给过滤掉.
关于详细的csp策略介绍,建议看看mozilla官方的文档[CSP策略指令].
例如:
<link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.css" rel="stylesheet">
当使用百度CDN公共库中的css样式时,由于百度CDN并不支持ssl协议,就会报Provisional headers are shown
;网络请求提示blocked:mixed-content
;
修复这种混合内容的错误提示,可能需要耗费大量时间去发现,但可以针对不同的情况对待;
如果是个人,对于内容安全性并不是特别的重视,可以用Upgrading insecure requests
来强制浏览器使用安全的请求.
如图,可以看到请求已经自动转为http:
谷歌对此的解释是: One of the newest and best tools to automatically fix mixed content is the upgrade-insecure-requests CSP directive.
既然谷歌说这么好,那就用吧:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
当然也可以一刀切,禁止所有非https内容;
<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
如果是企业、大型网站,还是需要一个健全的csp策略,可以大大减少xss攻击的情况.
#连接真机生成的文件,可全部删掉或者把不常用的版本删掉,再次连接设备会自动生成
~/Library/Developer/Xcode/iOS DeviceSupport
#app打包生成的文件,可删掉不需要的项目打包文件
~/Library/Developer/Xcode/Archives
#项目的索引文件等,可全部删除,或删除不常用的项目,再次打开项目会自动生成
~/Library/Developer/Xcode/DerivedData
位于
bash /usr/libexec/PlistBuddy
,用于操作plist内容节点
#add
/usr/libexec/PlistBuddy -c "add :title string 'foo'" test.plist
#print
/usr/libexec/PlistBuddy -c "print :title" test.plist
#set
/usr/libexec/PlistBuddy -c "set :title string 'bar'" test.plist
Array: 没有key,只能用index来找到对应的节点,例如:
当我想找到foo
这个节点,在Array中,foo
对应的index是0,所以Print操作如下
/usr/libexec/PlistBuddy -c "print title:0" test.plist
Dict: 有key,可以使用key来找到对应的节点,例如:
当我想找到news
中title
这个节点,所以Print操作如下
/usr/libexec/PlistBuddy -c "print news:title" test.plist
Copyright © 2016 yjiang's cake