• Как защитить прямые ссылки?

    gmlexx
    @gmlexx
    Можно использовать хэширование.
    Например, SHA1("222.exe" + "ключ") = хэш
    "ключ" - некая строка, которую знает только сервер
    Клиент говорит, что хочет /name=222.exe&hash=хэш. Если на сервере хэш совпадает с тем, что передал клиент, то ему можно скачивать файл.
    По какому правилу выдавать ключи клиентам уже дело ваше. Например, если в него "подмешать" сессионную куку, то другой пользователь скачать файл уже не сможет.
    Ответ написан
    Комментировать
  • Html vs json что использовать?

    gmlexx
    @gmlexx
    Про скорость передачи тут можно не особо переживать. Обычно прилетает все же gzip-контент.
    В первом подходе серверный код, как правило, писать проще и сервер обладает всей необходимой информацией чтобы за один запрос выдать готовый результат.
    Недостаток первого подхода и преимущества второго в том, что последний позволяет отделить серверную логику (backend) от клиентской (фронтенд). Разработку, верстку, тестирование в этом случае можно вести более независимо, а значит более качественно и быстро, когда проект большой.
    Недостаток второго подхода в том, что потребуется больше кода на Javascript.
    Ответ написан
    Комментировать
  • Почему сайт не отображается когда я использую сокеты вместо портов в uwsgi?

    gmlexx
    @gmlexx
    Если включить debug error level в nginx и посмотреть лог, то там скорее всего найдется ответ на вопрос "почему".
    Ответ написан
    Комментировать
  • Как корректно работать с SslStream в C#?

    gmlexx
    @gmlexx
    1) Скорее всего, серверный сертификат содержит всякие корявые ссылки, которые просто не позволяют вам ни нормально скачать CA(корневой), ни CRL. Посмотреть серверный сертификат не могу, т.к. у меня нет под рукой КриптоПро.
    Тут решение может быть в том, чтобы где-то их найти и поставить локально (будет работать пока они не протухнут). CA обычно имеет срок действия несколько лет, CRL несколько дней или часов.
    Либо не проверять совсем, либо можно ValidateServerCertificate переопределить чтобы он всегда возвращал true, и самому проверить отпечаток сертификата.

    2) А зачем все так сложно то? Вроде там API требует обычный HTTP POST. Есть же более удобные абстракции, типа HttpWebRequest.

    3) Ну и на крайняк, есть люди, которые уже собаку съели на взаимодействии с гос-органами. https://zakupki.kontur.ru
    Ответ написан
  • Как настроить nginx на выдачу файлов с кириллическими символами?

    gmlexx
    @gmlexx
    А что говорит команда locale?
    Скорее всего нужно установить
    LC_ALL="ru_RU.UTF-8"
    Ответ написан
  • Почему утекает память в скрипте?

    gmlexx
    @gmlexx
    Подозреваю, что Питон тут совсем не при делах. Скорее всего файлы, которые он записывает на диск кэшируются ОС в память, чтобы при дальнейшем обращении к этим файлам не обращаться к диску.
    Но если память кому-то срочно понадобится, то ОС ее освободит.
    Ответ написан
    1 комментарий
  • Какой NoSQL есть для Windows Server?

    gmlexx
    @gmlexx
    1) NoSQL стоит использовать, когда данных столько, что на одну машину уже никак не влезают.
    2) Кассандра достаточно хороша и может работать под что угодно, где есть Java
    Ответ написан
    Комментировать
  • Как вытащить данные из MySQL в LINQ c#?

    gmlexx
    @gmlexx
    BLToolkit умеет превращать linq выражения в sql-запросы для всяких разных баз, в том числе и MySql
    Ответ написан
    Комментировать
  • На что мигрировать с MS SQL? MySQL или PostgreSql?

    gmlexx
    @gmlexx
    Сначала нужно для себя решить — как вы видите свое приложение в будущем. Если там будет 20 млрд. записей через пару месяцев, и более тесная работа с базой, то PostgreSQL.
    Если база нужна как редко обновляемый склад, то и MySQL сойдет. Зачем палить из пушки по воробьям?
    Ответ написан
    1 комментарий
  • Как организовать балансировку нагрузки между двумя пулами в IIS 7 (win2008)?

    gmlexx
    @gmlexx
    Посмотрите в сторону ARR
    Хранить сессии в БД не обязательно.
    1) ARR вроде бы позволяет привязать сессию к бэкенду
    2) Можно задействовать State Server для хранения сессий, но это нужно осторожно (может просесть производительность) и не тогда, когда вы хотите 10% пользователей, а когда есть желание просто накрутить кол-во процессов пула больше одного
    Ответ написан
    Комментировать