Ответы пользователя по тегу C#
  • Как запустить программу на новый год в линуксе?

    orlov0562
    @orlov0562
    I'm cool!
    в крон добавь

    0   0   1   1   *   команда-запуска-форматирования-жесткого-диска >/dev/null 2>&1

    формат:
    минута час день месяц день-недели <команда>

    или в C# создай таймер и проверяй текущую дату каждую секунду, типа того
    using System;
    using System.Timers;
    
    public class Demo {
       private static Timer timer;
    
       public static void Main() {
          timer = new System.Timers.Timer();
          timer.Interval = 1000;
    
          timer.Elapsed += OnTimedEvent;
          timer.AutoReset = true;
          timer.Enabled = true;
    
          Console.WriteLine("Press the Enter key to exit anytime... ");
          Console.ReadLine();
       }
    
       private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) {
          Console.WriteLine("Raised: {0}", e.SignalTime);
       }
    }
    Ответ написан
    Комментировать
  • Краш приложения при показе рекламы?

    orlov0562
    @orlov0562
    I'm cool!
    оберни показ рекламы в try catch и посмотри что не так
    Ответ написан
    Комментировать
  • API для сайта и приложения, как сделать?

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

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

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

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

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

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

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

    -
    Ответ написан
    3 комментария
  • Что возвращать, Empty collection или null?

    orlov0562
    @orlov0562
    I'm cool!
    Конечно пустую коллекцию.. у тебя даже об этом сигнатура говорит. В случае с Null ты не сможешь передать результат дальше (в функцию принимающую List<Adresses>) без дополнительных проверок. А вообще, очень многое зависит от требования и контекста, в последнем случае, например, можно кидать соответствующий exception (говорящий о пустом списке), который дальше уже будет обрабатываться. Но, мне кажется логичней вернуть пустую коллекцию заданного типа.
    Ответ написан
    Комментировать