Задать вопрос
  • Как сделать симку вечной и избежать блокировки?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Раз в 3 месяца слать смс, увы.
    Иметь соответствующего оператора (у меня МТС).

    А вообще наблюдается тенденция, что активные сим-карты (т.е. просто подключенные к сети) не будут блокироваться. Если вынуть из устройства и положить на полку, то через некоторое время заблокируются, от этого уже не уйти, т.к. люди умирают, а цифр мало на всех.
    Ответ написан
  • Будет ли улучшение производительности, если выводить статьи не в php коде, а передавать их в ajax?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В общем случае без разницы для сервера. Потому что это не ахти какая нагрузка. Ведь данные и так в массиве. Разве много вычислений нужно, чтобы переставить куски массива? (Вопрос к вам, кстати, потому что алгоритм может быть и правда сложным, но вряд ли у вас такое).

    Для клиента массив однозначно не желателен. Во-первых, это дополнительная работа, когда её могло бы и не быть, т.е. страница, возможно, медленнее загрузится. Во-вторых, у клиента вообще может быть отключен JS, либо может не сработать по каким-то причинам (например, ложное срабатывание блокировщика рекламы). Поисковики тоже не обрадуются встроенному в страницу JS, хоть и скушают.

    Ну и главное, это наличие у каждой статьи своего уникального URL. Говорю на всякий случай, потому что если вы додумались до того, что смена статьи будет происходить через ajax без смены адреса, то это однозначно плохо. Скорее всего, вы это и так понимаете, поэтому ответ прежний - в общем случае практически без разницы php или ajax.

    P.S. Что реально лучше перекладывать на клиента, точнее давать в виде дополнительной фичи - так это сортировку таблиц с данными в статье. Опять-таки, таблицы должны отображаться без JS. Но при наличии JS их можно сортировать сразу плюс давать пользователю кнопки сортировки, которая будет происходить локально, без перезагрузки страницы. Это и приятно, и снимает нагрузку с сервера (по количеству соединений).
    Ответ написан
    2 комментария
  • Фильмы в YouTube законны?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если фильм не ваш, то формально вы не можете его выкладывать, это будет противозаконно. Разве что правообладатель дал лично вам разрешение.

    Сам правообладатель (условно, автор) может выкладывать свои произведения абсолютно законно. Так что если вы попали на официальный канал и там нашли фильм, то ничего удивительного.

    Ютуб блокирует ещё как, даже много ложно-положительных срабатываний у него при автоматической проверке. То есть, выкладывая свой собственный контент, вы можете столкнуться с блокировкой. Что самое смешное, при повторном выкладывании этого же контента (без изменений) автоматическая блокировка может не сработать.

    Есть всякие ухищрения, типа добавить в кадр вид, как будто из кинозала. Это обманывает алгоритмы фильтрации Ютуба, но всегда есть ручная проверка, которая однажды может настигнуть.

    И если у вас есть стойкое желание пиратить, то Ютуб - не ваш выбор. Для этого есть отдельные пиратские сайты с фильмами, а также всеми любимые торренты. Это абсолютно не законно, но там и поймать сложно.
    Ответ написан
    Комментировать
  • Как блокировать рекламу?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Проблема в том, что многие соединения идут через HTTPS, перехват которого не является тривиальной задачей. Поэтому по сути только два основных пути:

    1) Установка блокировщика на каждое устройство. Благо их у вас не так много. К слову, не всех раздражает реклама, так что вы можете поставить блокировщик себе, а остальным по желанию. С ноутом и компом очевидно - uBlock Origin. С планшетами решайте сами. На iOS себя хорошо показывает платный AdGuard Pro (убирает рекламу во всех приложениях).

    2) Фильтрация рекламы на уровне DNS. Сам роутер при этом у вас должен являться DNS. По идее он у вас и DHCP по совместительству, так что не проблема указывать самого себя сервером DNS во время раздачи настроек каждому устройству. Хорошее решение, по-моему, платный SkyDNS. Но можно также самостоятельно сделать (скачать и далее править самому) файл hosts, в котором бы было перечислено всё рекламное. Минус файла hosts в том, что нельзя задавать маску, так что для максимальной гибкости вам понадобится более умное решение - умный dns или firewall. Что вам удобнее и в чем вы разбираетесь (и сколько у вас лишних денег) я не знаю.
    Ответ написан
    Комментировать
  • В чем/как/где записывать сжетные лини квеста?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Почитайте про UML-диаграммы, что это такое и с чем их едят.
    Вам должно понравиться, скорее всего.

    P.S. https://www.draw.io/
    Ответ написан
    Комментировать
  • За счет чего живут бесплатные VPN сервисы?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Риски есть всегда, даже с самыми доверенными компаниями.

    Но вообще нормальные конторы, которые работают на репутацию, а не временную наживу, всякой фигней не занимаются. Обычно там есть какие-то платные услуги. А бесплатные чем-то лимитированы, и это не обязательно трафик. Это может быть, например, возможность устанавливать более, чем 1 соединение одновременно. Или иметь ip во всех странах, а не в 1-2 странах на бесплатном тарифе. И всякое такое.

    Всё упирается в доверие. Посмотрите, что фирма такая, сколько существует, какие отзывы и т.д. Если можно использовать OpenVPN или даже нативно настроить винду, то это плюс к доверию в целом (даже если свой клиент есть). Вы сами решаете, кому доверять. Это касается не только VPN, но и вообще всей информационной среды.
    Ответ написан
    Комментировать
  • Какие знания нужны junior JS dev?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это весь синтаксис javascript. А также встроенные объекты.

    Без циклов и массивов вы как бы вообще не сможете ничего написать, кроме "hello world". Изучите теорию по учебникам или по спецификациям, заправляя это небольшой практикой. Да, это не развлечение. Никто не обещает, что будет легко и весело.

    А программистом себя могут называть те, кто имеют приличный опыт, как плохой, так и хороший. То есть для звания "программист" вам нужно просто много работать по данному направлению. Желательно, чтобы ваш код оценивали. Но вы и так поймете, что ваш код плохой, когда не сможете в нем ориентироваться, и при этом он будет страшно бажным.
    Ответ написан
    8 комментариев
  • Как вывести всё что больше ста до 0?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В чём сложность? Задание на знание языка.
    Можно сделать как-то так
    function funcCounter(num) {
    	let cnt = this.cnt || 0; //Создаем счетчик вызовов
    	cnt++; //увеличиваем счетчик вызовов
    	this.cnt = cnt; //Запоминаем счетчик
    	if (typeof num != "number" || !isFinite(num)) return cnt;
    	if (num < 100) { //вызовы от этого числа
    		if (cnt >= num) return cnt - num;
    		return 0;
    	}
    	if (num > 100) { //от 0 до числа
    		if (num < cnt) return num;
    		return cnt;
    	}
    	return cnt; //num is 100
    }
    Ответ написан
    1 комментарий
  • Какие знания нужны для специалиста по информационной безопасности?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не совсем прямой ответ, но всё же. Специалиста по ИБ лучше не со стороны брать, а из проверенных и надежных людей, хотя бы знакомых. Если что-то не знает и есть потенциал (и главное умная голова на плечах), то сможет научиться. Вопрос в мотивации к этому - немного другая тема.
    Ответ написан
    Комментировать
  • Как загрузить iframe с помощью chrome.proxy?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    content_script и background общаются через сообщения. Нужно сделать обработчик в background и обращение к нему в content_script.

    В background так:
    chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
      if (request.type == "myMessage") { //можно обойтись без типов
        let v = request.v; //12345
        // ...что-то сделать
        sendResponse({answer: 'ok'}); //не обязательно
      }
    }


    В контент скрипте как-то так:
    chrome.runtime.sendMessage({
      type: "myMessage", //тип сообщения, если их несколько
      v: 12345,  //какие-то данные нужно переслать в background
      }, function(data) { //callback, если нужно
        if (data.answer == 'ok') console.log('всё в порядке');
      }
    });
    Ответ написан
    6 комментариев
  • Могут ли конкуренты навредить мне создав зеркала моего сайта?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Может навредить.

    Защититься - встраивать авторство в текст, водные знаки в картинки и т.д. Способов много и нельзя выбрать какой-то один, потому что это война снаряда и брони, а на войне все средства хороши, включая технические и юридические.
    Ответ написан
    Комментировать
  • Как использовать import?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Комментировать
  • Как быть при угрозах DDoS-атаки конкурентом?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это провокация. Конкуренты не предупреждают.
    Ответ написан
    Комментировать
  • DNS поверх HTTPS не в России?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    сrурt
    dnsсrурt
    Ответ написан
    Комментировать
  • Насколько сложно защитить веб-приложение от основных видов атак?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от того, что за конкретное приложение и кому может понадобиться его ломать, сколько он готов будет вложить времени и денег. Ответ на это определит возможный вектор атак и соответствующие меры и стоимость защиты.

    Насчет ddos вы, видимо, не совсем понимаете, что это такое. Если у сервера узкий канал, то проверки ip внутри приложения не спасут вообще никак. Если же канал широкий и у вас достаточное количество мощностей, а само приложение (бэк) хорошо оптимизировано, то можно спокойно жить под ddos, не беспокоясь об этом. Кроме того, есть облака, которым (как раз по этой причине) пофиг на ddos. В общем, это сложная тема, в пару слов не уложусь.

    В общем, вы сейчас пытаетесь изобрести универсальный рецепт приготовления обеда из абстрактных ингредиентов в вакууме. Выбирайте, либо вы тратите кучу времени на чтение кучи книг и изучение темы ИБ в целом, либо вы решаете конкретную задачу и изобретаете что-то своё или берёте от ИБ то немногое, что понадобится в рамках этой задачи. А просто перечислить в 300 символов, что хорошо и что плохо, - не получится.
    Ответ написан
    4 комментария
  • Как удалить строки из одного листа google-таблицы, которые присутствуют во втором листе google-таблицы?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Проще всего раскрасить подвторяющиеся строки в обоих листах, а затем цветные удалить вручную.

    Меню: Формат -> Условное форматирование...
    Ответ написан
    1 комментарий
  • Возможно ли таким способом обезопасить почтовый ящик?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Скорее всего, вы используете один и тот же пароль на всех сайтах.
    Возьмите за правило для почты иметь отдельный сложный пароль, который вы больше нигде не вводите, кроме самой почты.

    Ну и еще есть шанс, что у вас троян, который следит за вашей активностью и берет управление, когда много вкусного наберется. В этом случае посоветовать ничего не смогу, разве что думать перед скачиванием всякой фигни.
    Ответ написан
    Комментировать
  • Как защитить AJAX-запрос?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Обычно происходит так:
    1) У админа есть пароль. У пользователя, кстати, тоже должен быть.
    2) Админ вводит пароль на сайте и в замен получает токен (т.е. какой-то ключ). Получить он может его как угодно - напрямую через POST-запрос из формы, либо через ajax. Но суть такая, что в запросе пароль, а в ответе токен (ключ).
    3) Далее этот токен админ использует везде на сайте для доступа к своим админстким функциям. То есть в каждом ajax-запросе присутствует этот токен. Он становится частью сессии. Вообще в php даже есть свои сессии со своим ключом, так что их тоже можно использовать.
    4) Через какое-то время, либо после нажатия кнопки "выход", токен устаревает и больше не работает (нужно снова вводить пароль).

    Так что ответ на вопрос: нужно посылать токен в каждом ajax-запросе, это и будет защита.
    Ответ написан
    6 комментариев
  • Общий хостинг, клауд сервер или VPS - как выбрать свою "песочницу"?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нельзя уметь всё.

    Поэтому заранее определитесь, чего именно вы хотите: изучать всё по чуть-чуть всю жизнь (и всё равно не стать гуру), либо уметь что-то конкретное на уровне профессионала. Ещё есть изи вариант - уметь что-то конкретное на уровне любителя, но на достаточном уровне для решения вашей конкретной задачи.

    Первый вариант - для аналитика. Второй вариант для специалиста. Третий вариант - когда нужно дёшево и быстро (т.е. по минимуму тратя своё время и деньги).

    Для mysql+php загуглите "хостинг за 12 рублей".

    Для более сложных вещей нужно подбирать VPS/VDS под задачу.
    Ответ написан
    Комментировать
  • 12GB vs 4+4 dual channel?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Лучше 12 GB.
    Главное, чтобы в своп не ушло раньше времени, а для этого нужен объём.
    Ответ написан
    6 комментариев