PHP接口安全处理

1,使用HTTPS协议,如下例子

$url = 'https://api.example.com/endpoint';
$options = [
    'ssl' => [
        'verify_peer' => true,
        'verify_peer_name' => true,
    ],
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);

2,进行身份验证,例如

$api_key_str = 'str_num';
$url = 'https://www.www,com/user?api_key_str='.urlencode($api_key_str);
$res = file_get_contents($url);

3,进行API的访问次数限制,例如

$ip = $_SERVER['REMOTE_ADDR'];
$key = 'access_limit:' . $ip;
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$count->$redis->incr($key);//当前次数加1
$redis->ecpire($key,60);//设置过期秒数
if($count > 60) throw new customException('Access limit exceeded'); //抛出结果
$log_entry = date('Y-m-d H:i:s') . ' ' . $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'];// 记录访问日志
$redis->lpush('access_log', $log_entry);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值