[toc]
## 加解密
```
$pwd = '123456';
$hash = password_hash($pwd, PASSWORD_DEFAULT);
if (!password_verify('123', $hash)) {
echo '密碼錯誤';
} else {
echo '密碼正確';
}
```
自動加鹽值且不需要保存鹽值
## 過濾輸入
### html
1. `htmlentities`該函數會將所有HTML標簽字符(&、<、>等)轉化為對應的HTML實體
2. `html_entity_decode`將所有html實體轉換成html
3. `htmlspecialchars`、`htmlspecialchars_decode`
4. `strip_tags`去除所有html標簽
## 驗證輸入
### filter_var
可用于驗證布爾值、電子郵件地址、浮點數、整數、IP、正則表達式和URL
~~~
<?php
$input = 'xxx@163.com';
$isEmail = filter_var($input, FILTER_VALIDATE_EMAIL);
if ($isEmail !== FALSE) {
? ? echo 'success';
} else {
? ? echo 'failed';
}
~~~
### 組件
* [aura/filter](https://packagist.org/packages/aura/filter)
* [respect/validation](https://packagist.org/packages/respect/validation)
* [symphony/validator](https://packagist.org/packages/symfony/validator)
- php
- 安全
- php7
- 特性
- 編譯安裝
- 源碼整體框架
- 基本變量
- thinkphp3.2.3
- thinkphp5.0
- thinkphp6.0
- laravel
- 配置
- 路由
- artisan控制臺
- eloquent
- tinker
- composer
- 加密解密
- 小知識點
- 數組
- string
- 代碼簡潔之道
- 編譯
- 語法糖
- lumen
- smarty
- 錯題集
- 算法及數據結構
- 線性表結構
- 插入排序
- 冒泡排序
- 數據庫
- mysql
- oracle
- PostgreSQL
- redis
- sqlserver
- 前端
- 備忘
- js
- nodejs
- vue
- css
- electron
- vue
- 語法糖
- colorui使用筆記
- 微信小程序
- 操作系統
- windows
- bat
- 快捷鍵
- linux
- sed
- 問題解決
- git
- docker
- docker-compose
- 正則表達式
- ps
- lua
- 協議相關
- 問題思索
- Golang
- 測試
- 讀取和寫入json配置文件
- 類
- 接口
- mod
- gin
- fyne
- 禪道二次開發
- 服務
- apache
- 漏洞配置
- http server優化
- nginx
- 安裝
- 面試題庫
- freeswitch