Ответы пользователя по тегу API
  • Как сохранить файл полученый через API в прежнем полученом формате?

    orlov0562
    @orlov0562
    I'm cool!
    В вопросе так же хотелось бы увидеть пример кода.

    Сохранить файл в C# можно так
    byte[] content=File.ReadAllBytes(@"C:\ServiceLog.txt");
    FileStream stream = new FileStream(@"C:\ServiceLog1.txt", FileMode.Create, FileAccess.ReadWrite);
    stream.Write(content, 0, content.Length);
    stream.Close();


    или так
    byte[] content=File.ReadAllBytes(@"C:\ServiceLog.txt");
    File.WriteAllBytes(@"C:\12.txt",content);


    или так
    // using System.IO;
    string filepath = @"C:\test.txt";
    using (StreamWriter writer = new StreamWriter(filepath)){
        writer.WriteLine("some text");
    }
    Ответ написан
    4 комментария
  • Как вы тестируете API?

    orlov0562
    @orlov0562
    I'm cool!
    Все зависит от твоих задач и целей. Можно отключать, можно перенаправлять письма куда-нибудь и их парсить для дальнейших тестов, а можно и на реальную почту сходить, проверить пришло письмо или нет... В общем, насколько хочешь заморочиться, настолько и делай.. Я бы сделал заглушку на отправку почты, перенаправлял бы письма в файлики и проверял их.
    Ответ написан
    3 комментария
  • Как обрабатывать ответ с сервера каждые пару секунд и делать это в фоне на сервере?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    - создаешь файл: bot.php с содержимым:
    while (true) {
    // тут твой код делает свои грязные делишки
    sleep(1);
    }

    - заходишь на сервер по ssh
    - устанавливаешь screen: apt-get install screen
    - стартуешь новую сессию: screen -a
    - запускаешь скрипт: php bot.php
    - отключаешься от сессии: Ctrl+A+D
    - при необходимости восстанавливаешь сессию: Ctrl+D
    - если надо завершить скрипт, в востановленной сессии, просто нажимаешь Ctrl+C

    Когда поймешь что тебе этого уже не хватает, гугли "демоны на php"
    Ответ написан
    Комментировать
  • API для сайта и приложения, как сделать?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    Я бы не усложнял и сделал бы дополнительную проверку контрольной суммы в передаваемом хеше ключа.

    - Не предавал бы ключ в открытом виде а шифровал бы его во что-то типа
    key = md5(ключ + соль)

    - Дальше бы генерил доп строку, на основе данных доступных обоим сторонам запроса, например:
    check = md5(внешний ip)

    - Дальше бы по спец алгоритму о котором знаю только я и оба софта, смешивал бы значение key и check. Например, первые 5 символов в check добавлял бы через букву в key. Для особой паранойи можно способ шифрования сделать от версии ПО или вообще предварительным запросом к серверу

    - На серваке опять восстанавливал бы key и часть check, и сравнивал бы с сгенерированным check на сервере.

    - Если check совпал, тогда бы сверял key со своей базой

    Даже в случае перехвата, алгоритм подобрать будет сложно. А брутфорс на серваке можно отслеживать. Разумеется от дизассемблирования, это не спасет.. но тот кто может позволить себе понять алгоритм шифрования по исходникам ассемблера (т.е. разобраться как генерится check и что используется за соль), вряд ли не сможет просто вырубить запрос к серверу или ограничения...

    -
    Ответ написан
    3 комментария
  • Почему метод mediatopic.post возвращает ошибку 100?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    Не уверен, но возможно ответ уже есть тут:
    https://toster.ru/search?q=Only+one+of+session_key...
    Ответ написан
    Комментировать