Задать вопрос
Ответы пользователя по тегу Компьютерные сети
  • Переход с PHP на …?

    Stdit
    @Stdit
    Если надоел PHP и вообще такой подход (запустился-выполнился-умер), хочется чего-то свежего и концептуально другого, я бы порекомендовал Nodejs. Особенно интересно становится при использовании вебсокетов через socket.io. По поводу xslt не могу ничего сказать, не было такого опыта, но библиотеки соответствующие имеются.
    Ответ написан
    Комментировать
  • Существуют ли какие-либо сервисы, которые бы помогали в решении творческих задач?

    Stdit
    @Stdit
    «Алгоритмы, занимательные задачи», вам нужен мозговой штурм? Почему бы не задать этот «творческий вопрос» прямо здесь, возможно найдутся желающие размять мозги.
    Ответ написан
    Комментировать
  • В свете запретов, почему не использовать шифрование на уровне HTTP-заголовков?

    Stdit
    @Stdit
    Потому что до уровня HTTP-протокола фильтры, вроде как, ещё не добрались. Сайты блокируются по айпи и по домену. Блокировку по домену можно легко обойти, прописав неблокирующий DNS, а ещё лучше поставив DNSCrypt. А блокировку по айпи — через VPN.
    Ответ написан
    1 комментарий
  • Не всегда доходят данные от сервера на NodeJS клиенту?

    Stdit
    @Stdit
    Возможно, это связано с неправильной обработкой потока из сокета (сероятнее всего, на клиенте), поскольку вы не пользуетесь carrier или другой буферизацией/делением. Событие data не означает, что в нем содержится именно так строка, которую послала вторая сторона. Там может быть часть из неё, а может быть и несколько строк сразу (зависит от размера данных и размера буфера передачи). Таким образом, данные могут быть потеряны, если например две команды сервера попадают в одно событие «data», заваливая распознавание пакета (на клиенте, в частности, в зависимости от реализации). На этот камень я наступал, способ решения — carrier, какой-нибудь сокетный фреймворк или свой вариант протокола верхнего уровня. Вот пример демонстрирующих тестов:
    Скрытый текст
    // server.js
    var net = require('net');
    var server = new net.Server();
    
    process.on('uncaughtException', function (err) {
        console.log(err.stack);
    });
    
    server.listen(12345);
    server.on('connection', function (connection) {
        console.log('connection');
        connection.on('data', function (data) {
            console.log('server data', data.toString());
            connection.write(data);
        });
        connection.on('end', function () {
            console.log('server end');
        });
    });
    

    // client.js
    var net = require('net');
    var client = new net.Socket();
    
    process.on('uncaughtException', function (err) {
        console.log(err.stack);
    });
    
    client.connect(12345);
    client.on('connect', function (connection) {
        console.log('connect');
        client.on('data', function (data) {
            console.log('client data', data.toString());
        });
        client.on('end', function () {
            console.log('client end');
        });
    });
    
    setTimeout(function () {
        "use strict";
        client.write('string1');
        client.write('string2');
    }, 100);
    
    setTimeout(function () {
        "use strict";
        var i = 100000;
        var string = '';
        while (i--) {
            string += i;
        }
        client.write(string);
    }, 200);
    
    setTimeout(function () {
        "use strict";
        client.write('string3');
        client.end('string4');
    }, 300);
    


    Если моё предположение неверно и вы об этом позаботились, тогда нужно делать tcpdump с фильтром по порту, и смотреть, что и куда приходит и уходит.
    Ответ написан
  • Какую защиту использовать от спам ботов?

    Stdit
    @Stdit
    Капчу стоит предлагать только в крайних случаях, когда есть подозрение на бота. Например, если не передаётся проверочная кука, отключен яваскрипт. Не думаю, что капча по указанной ссылке надёжнее классической, тут скорее присутсвует элемент «вирусного маркетинга». При составлении капчи важно смотреть на неё с точки зрения программного анализатора изображения. Например, лишние шумы на фоне легко удаляются алгоритмами, и только осложняют восприятие пользователю. Неплохим вариантом может быть reCaptcha.
    Ответ написан
    3 комментария
  • Бан IP адреса средствами nginx ?

    Stdit
    @Stdit
    Если добавлять deny в конфиг, Nginx придется рестартить. Если надо именно решение на Nginx, можно например не пускать в бекенд по левым урлам, прописав максимально точные location-ы для существующих путей. Есть ещё вот такое оригинальное решение.
    Ответ написан
    2 комментария
  • Как узнать, какие картинки (без шуток) пользователи дольше просматривают

    Stdit
    @Stdit
    Кроме порнстёба: картинки с загадкой, сравнением однородных объектов (от телефонов до людей), со сложными графиками или таблицами, с комментариями, со стеной текста, комиксы, с зумом и большим уровнем детализации.
    Ответ написан