PHP API авторизация
500 руб. за проект
•
безналичный расчёт, электронные деньги
Написание
API
Пользователь
передает методом POST
странице.php строку типа
STRING (передается sha512)
После чего
скрипт проверяет были ли обращения с
данного IP за последние
10 секунд.
Если нет то
записывает в таблицу LOGS
MySQL следующие данные:
id | sha512 | Дата и время в UNIX формате
| IP
Если были то
выдается ответ с статусом 2 запись при
этом не производит
После записи
в таблице LOGS скрипт лезет
в таблицу USERS
id | sha512 | password | data | IP
и ищет
совпадения по полю sha512, если
совпадений нет то выдается ответ со
статусом 3
если совпадение
есть и поле ENABLE = True то
лезет в таблице DATA и ищет
по связанному столбцу data
и формирует ответ со статусом 0 если в
поле ENABLE значение False
то ответ с статусом 1
После проверки
по полю ENABLE в случае
значения True проверяем по
полю IP (если поле пустое
или записанный IP совпадает
с тем, с какого обращается пользователь
то продолжаем дальше, в ином случаем
отвечаем статусом 4)
data | ip | db | login | password | port | utc
Формат ответа XML: данные
при этом должны шифроваться типом
DES(ECB),
пароль шифрования берется
из таблицы USERS (кроме
статуса и таймлимита)
<?xml
version="1.0" encoding="WINDOWS-1251"?>
<meta>
<data
timelimit ="10"/>
время
ограничения запросов с
одного IP
<data
status="0"/> в
случае статуса кроме как 0 все поля ниже
должны быть пустыми
<data
ip=""/> из
таблицы DATA
<data
db=""/> из
таблицы DATA
<data
login=""/> из
таблицы DATA
<data
password=""/> из
таблицы DATA
<data
port=""/> из
таблицы DATA
<data
time=""/> время
сервера в UNIX
формате
</meta>
для примера
шифрования (есть скрин)
Текст
шифрования:шла Саша по ленинградскому
шоссе и создала пробку
Ключ
шифрования:pUGsn1Zw9wrwl76m
Результат
шифрования:ALRf5EMkru7OGlH21HpEE9AsCyPfv3/zKT7y9LqVLa3cALfk4sPsV4xiV7E1KabWQz4l31E7+Ndidf+grCSSIk+Q+ljzwTC4YdZhx02nJQplLL3itLM36qhZEDVCgQ4L
Статус:
1 — Поле
ENABLE = False (пользователь
заблокирован)
2 — превышен
интервал запросов
3 — нет
совпадений SHA512
4
— обращение с
неразрешенного IP
0
— ОК
Переменные
с данными подключения к MySQL
должны быть во 2м
файле, как и переменная с временным
ограничением обращения
API
Пользователь
передает методом POST
странице.php строку типа
STRING (передается sha512)
После чего
скрипт проверяет были ли обращения с
данного IP за последние
10 секунд.
Если нет то
записывает в таблицу LOGS
MySQL следующие данные:
id | sha512 | Дата и время в UNIX формате
| IP
Если были то
выдается ответ с статусом 2 запись при
этом не производит
После записи
в таблице LOGS скрипт лезет
в таблицу USERS
id | sha512 | password | data | IP
и ищет
совпадения по полю sha512, если
совпадений нет то выдается ответ со
статусом 3
если совпадение
есть и поле ENABLE = True то
лезет в таблице DATA и ищет
по связанному столбцу data
и формирует ответ со статусом 0 если в
поле ENABLE значение False
то ответ с статусом 1
После проверки
по полю ENABLE в случае
значения True проверяем по
полю IP (если поле пустое
или записанный IP совпадает
с тем, с какого обращается пользователь
то продолжаем дальше, в ином случаем
отвечаем статусом 4)
data | ip | db | login | password | port | utc
Формат ответа XML: данные
при этом должны шифроваться типом
DES(ECB),
пароль шифрования берется
из таблицы USERS (кроме
статуса и таймлимита)
<?xml
version="1.0" encoding="WINDOWS-1251"?>
<meta>
<data
timelimit ="10"/>
время
ограничения запросов с
одного IP
<data
status="0"/> в
случае статуса кроме как 0 все поля ниже
должны быть пустыми
<data
ip=""/> из
таблицы DATA
<data
db=""/> из
таблицы DATA
<data
login=""/> из
таблицы DATA
<data
password=""/> из
таблицы DATA
<data
port=""/> из
таблицы DATA
<data
time=""/> время
сервера в UNIX
формате
</meta>
для примера
шифрования (есть скрин)
Текст
шифрования:шла Саша по ленинградскому
шоссе и создала пробку
Ключ
шифрования:pUGsn1Zw9wrwl76m
Результат
шифрования:ALRf5EMkru7OGlH21HpEE9AsCyPfv3/zKT7y9LqVLa3cALfk4sPsV4xiV7E1KabWQz4l31E7+Ndidf+grCSSIk+Q+ljzwTC4YdZhx02nJQplLL3itLM36qhZEDVCgQ4L
Статус:
1 — Поле
ENABLE = False (пользователь
заблокирован)
2 — превышен
интервал запросов
3 — нет
совпадений SHA512
4
— обращение с
неразрешенного IP
0
— ОК
Переменные
с данными подключения к MySQL
должны быть во 2м
файле, как и переменная с временным
ограничением обращения
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.