1. Механизм авторизации по токену. После входа пользователя в систему с использованием имени пользователя и пароля сервер возвращает токен клиенту.
2. Механизм тайм-аута метки времени: каждый запрос пользователя будет возвращать текущую метку времени.
После того как сервер получает метку времени, он сравнивает ее с текущим временем. Если разница во времени превышает определенное время (например, 5 минут), запрос считается недействительным. Механизм тайм-аута метки времени является эффективным средством защиты от DOS-атак.
3. Механизм подписи.
Добавьте другие параметры запроса в токен и метку времени, а затем зашифруйте их с помощью алгоритма MD5 или SHA-1.
Пример
/** * @desc Принять обработку параметра */ частная функция DealParam(){ //Принимаем параметры заголовка -- системные параметры $systemParam=getAllHeadersParam(); //Принимаем основные данные — бизнес-параметры (формат JSON) $data=file_get_contents('php://input'); //Читаем информацию о закрытом ключе в файле конфигурации $api_apiKey=C('api_apiKey'); $privatekey=$api_apiKey[$systemParam['token']]; $arr['token'] =$systemParam['token']; //Идентификатор, назначенный сервером (разные клиенты должны использовать разные идентификаторы) $arr['timestamp']=$systemParam['timestamp']; //Отметка времени, время UTC, основанное на пекинском времени, Восточный восьмой округ (+8) $arr['version'] =$systemParam['version' ] ; //Номер версии $arr['sign'] =$systemParam['sign']; //Подпись $arr['source'] =$systemParam['source']; //Источник (0-Android/1 - IOS/2-H5/3-ПК/4-php/5-java) $arr['data'] =json_decode($data,true); //Формат json бизнес-параметра $arr['method'] =$data['method'] //Интерфейс доступа, формат: имя модели.имя метода вернуть $arr; }
Выше приведены три механизма безопасности интерфейса PHP. Надеюсь, это будет полезно всем. Еще руководство по изучению PHP: сеть исходного кода