
1、Token授权机制,用户使用用户名密码登录后,服务器将Token返回给客户端。
2、时间戳超时机制,用户每次请求都会带上当前时间戳timestamp。
服务器收到timestamp后,与当前时间进行比较,如果时间差大于一定时间(例如5分钟),则认为请求无效。时间戳超时机制是防御DOS攻击的有效手段。
3、签名机制。
在Token和时间戳中加入其他请求参数,然后用MD5或SHA-1算法加密。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
private function dealParam(){
$systemParam =getAllHeadersParam();
$data = file_get_contents ( 'php://input' );
$api_apiKey =C( 'api_apiKey' );
$privatekey = $api_apiKey [ $systemParam [ 'token' ]];
$arr [ 'token' ] = $systemParam [ 'token' ];
$arr [ 'timestamp' ]= $systemParam [ 'timestamp' ];
$arr [ 'version' ] = $systemParam [ 'version' ];
$arr [ 'sign' ] = $systemParam [ 'sign' ];
$arr [ 'source' ] = $systemParam [ 'source' ];
$arr [ 'data' ] =json_decode( $data ,true);
$arr [ 'method' ] = $data [ 'method' ];
return $arr ;
}
|
以上就是php接口安全的三个机制,希望对大家有所帮助。更多php学习指路:php教程