安全

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

content security policy

是服务器发送到浏览器的message header 键值对, 只有出现在上面的 url 里的才能生效, 不然浏览器就直接

拒绝了。其中有个 default-src 的属性, 这是一个属性key, 值就是后面属性的默认值, 后面如何设置了具体的值

就会覆盖 default-src 设置的值, 如果没有设置设置具体的值, 则就采用 default-src 的值。

 

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP#%E7%A4%BA%E4%BE%8B_2

 

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

$a = htmlspecialchars('abc');
$b = htmlentities('abc');

var_dump($a);
var_dump($b);
string(3) "abc"
string(3) "abc"

可以看出, 这个两个函数的结果是一样的,

htmlspecialchars
Convert special characters to HTML entities

htmlentities
Convert all applicable characters to HTML entities

htmlspecialchars_decode
Convert special HTML entities back to characters
html_entity_decode
onvert HTML entities to their corresponding characters

相当于互为相反的函数 encode 和 decode 的关系,
现在的问题是, 为啥有这两个看起来很像的函数,

htmlspecialchars only encodes these 5 characters

  • &
  • "
  • '
  • <
  • >

htmlentities encodes all known characters. Generally, htmlentities is the better, safer function to use.

 

=============================================================

http://cxc359170248.blog.163.com/blog/static/115407313201222681435225/

规则 1:绝不要信任外部数据或输入
清单 1. 安全无暇的代码
清单 2. 不安全、有瑕疵的代码
清单 3. 使用户输入变得安全
规则 2:禁用那些使安全性难以实施的PHP设置
规则 3:如果不能理解它,就不能保护它
清单 4. 使代码容易得到保护
规则 4:“纵深防御” 是新的法宝

 


防止SQL注入攻击
清单 5. 不安全的 PHP 表单处理代码
清单7:展示了带转义处理的代码

 

原来mysql_escape_real_string和htmlspeicalchars是两回事。
msyql_*系列已经是过时了,相应的应该考虑用PDO
hmtlspecialchars是用于HMTL展示的

 

=============================================================

XSS(Cross Site Scripting):跨站脚本攻击

按字面意思理解, 就是把脚本放到网站里面, 然后让人点击。

=============================================================

XSRF(Cross-site request forgery):跨站请求伪造

假冒认证用户获取资源

=============================================================

SAML 登录也很简单, 就是 用户访问一个网址, 这个网址跳转到一个表单页面, 用户输入凭证, 然后跳转到一个网址,

然后通过认证又跳转到目标APP页面

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

=============================================================

posted @ 2018-03-09 09:45  qqisnow2021  阅读(107)  评论(0编辑  收藏  举报