Socket通信编程

##Socket连接过程

  • 服务器监听:服务端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
  • 客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此客户端的套接字必须首先描述它所要连接的服务器的套接字,并给出服务器端的套接字的地址和端口号,然后向服务器端提出连接请求。
  • 连接确认:当服务器端套接字监听或者接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端的套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接受其他客户端套接字的连接请求。

PHP安全

XSS防御
  1. 转义/编码 htmlspecialchars()
  2. 过滤 strip_tags
  3. CSP(Content Security Policy)
  4. 第三方库
    • HTML purifier
    • htmLawed
    • Zend_Filter_Input
会话攻击防御
  • session_regenerate_id()
  • 二级令牌
  • 检测UA和用户IP