理解HTTPS
定义
HTTPS的全称是Secure Hypertext Transfer Protocol(安全超文本传输协议),是在http协议基础上增加了使用SSL加密传输协议。
实现过程
- 在服务器上使用OPENSSL创建example.key(私钥) 和 example.crt (证书签署请求文件)
- 提供给 CA 机构CSR 文件,签署成功后,就会得到 example.crt 证书文件,SSL 证书文件获得后,就可以在 Nginx 配置文件里配置 HTTPS了。
socket http tcp udp的关系区别
tcp udp属于传输层协议 http 属于应用层协议 socket 是tcp udp协议封装的API
tcp 与 udp的区别
tcp 稳定、可靠、速度慢:会有三次握手来建立连接。 udp不稳定、不可靠、速度快:没有TCP的握手,UDP是一个无状态的传输协议,所以它在传递数据时非常快。
安全方面
SQL注入防护
addslashes() :可以把' "进行转义,但存在“宽字节注入”漏洞,已废弃。- mysql_real_escape_string():可有效解决PHP在sql语句组拼时的注入漏洞
- 预处理查询 (Prepared Statements):先预发送一个sql模板给mysql,然后再发送参数过去,让mysql来进行注入处理 推荐使用第3类方法,很多框架默认采用此方法!
XSS(跨站脚本攻击)防护
通过向表单提交JavaScript脚本/iframe等方式达到窃听cookie,钓鱼网站等方式欺骗用户 htmlspecialchars():推荐使用,将>转换为& gt; , <转化为& lt;
CSRF(跨站点请求伪造)防护
跨站点请求伪造:Cross Site Request Forgery 黑客通过伪装用户的请求发送给服务器,从而获取到受害者的权限和操作。 防护方式:
- 使用post方式请求。
- 在页面生成一个随即串并保存在token中,用于在服务器中(session)比对 https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/index.html
DDOS的防护
- 硬件防火墙
- 软件防火墙,如firewalld,iptables
- nginx,apache层的过滤,在配置文件里加入过滤ip
- 使用第三方的防ddos商家,如360网站卫士,加速乐等