• Индекс массива от 0 до N?

    Rou1997
    @Rou1997
    В foreachпройтись по всем элементам и каждый pushв новый массив.
    Ответ написан
    Комментировать
  • Индекс массива от 0 до N?

    @WQP
    Ответ написан
    Комментировать
  • Как называется дизайнер интерфейсов на профессиональном языке?

    ss44v
    @ss44v
    UX/UI дизайнер
    Ответ написан
    Комментировать
  • Минимальные настройки безопасности Linux на VPS?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. На порты управления обязательно: port-knocking
    2. Не нужно использовать ключи взамен пароля.
    3. Нужно использовать здравый смысл, поведенческий фильтр с ограничением по подсетям. Его можно использовать как перед подключением к SSH, так и сразу после подключения (например, промежуточным логин-скриптом проверить: предоставить доступ с верным паролем или нет).

    Не забывайте, что кроме пары логин-пароль и ключей, есть много других способов аутентификации.

    4. port-knocking: https://www.vultr.com/docs/port-knocking-on-debian
    Подключение из putty с port-knocking "из коробки":
    putty-port-knocking.png
    https://putty.org.ru/

    5. Также, можно поставить AppArmor (что это?) для управления доступом приложений к системе: https://wiki.debian.org/AppArmor/HowToUse

    6. Защита web-сайтов от большинства видов атак (включая правила исполнения кода): sitecoder.blogspot.com/2016/05/website-protection-...
    Ответ написан
    3 комментария
  • Зацените реализацию, цепляет?

    abyrkov
    @abyrkov
    JavaScripter
    Код: 4--/5. Все просчитано, все фичи добавлены кроме самостоятельного размещения кораблей. Ну еще реализация не на canvas, хотя не заметно, но все же. Well done!
    Дизайн: 3-. Мало того, стиль попапа вообще не соответсвует остальной атмосфере(про смалик молчу, не к месту он), так еще и трудно различать поля
    Ответ написан
    5 комментариев
  • Минимальные настройки безопасности Linux на VPS?

    Tyranron
    @Tyranron
    Ряд моментов Вы уже сделали, но я все равно их опишу для полноты списка.

    1. Создать отдельного пользователя и хороший пароль на sudo. Не использовать больше root напрямую. Совсем.

    2. SSH. Отключаем метод аутентификации по паролю. Если Вам не нужны другие методы, то их тоже можно отключить, оставив только publickey. Отключаем возможность аутентификации root'ом. Включаем использование только 2й версии SSH протокола.

    3. Устанавливаем Fail2Ban и настраиваем чтобы после нескольких неуспешных попыток подключения по SSH банило по IP на длительное время. Кол-во попыток и время бана можно тюнить в меру своей паранойи. У меня, например, банит на час после 2х неуспешных попыток.

    4. Iptables. Действуем по принципу "запрещено все, что не разрешено". Запрещаем по умолчанию весь INPUT и FORWARD трафик снаружи. Открываем на INPUT'е 22 порт. В дальнейшем открываем порты/forwarding по мере необходимости. Если у нас предполагаются сервисы на соседних серверах нужные только для внутренней коммуникации (Memcached, Redis, и т.д.), то открываем для них порты только для определенных IP. Просто так торчать наружу для всех они не должны.

    5. Настраиваем автоматические обновления apt-пакетов. Уровень security. То есть так, чтобы обновления безопасности накатывались автоматически, но при этом не выполнялись обновления со сменой мажорной версии (дабы обезопасить себя от "само сломалось").

    6. Устанавливаем ntpd. Серверное время должно быть точным. Также временную зону сервера лучше всего установить в UTC.

    7. TLS (не SSL) используем везде где можем. Через Let's Encrypt получаем бесплатные валидные сертификаты. В конфигах веб-серверов, mail-серверов, и других приложений торчащих наружу (в том числе и OpenVPN), запрещаем/убираем использование слабых шифров. Все ключи/параметры генерируем не менее 2048 бит. Самоподписные сертификаты подписываем с помощью SHA-256 (не SHA-1). Diffie-Hellman параметры (dh.pem) под каждый сервис лучше сгенерить отдельно. Проверяем TLS сервисов через Nmap. Минимальный grade должен быть A, не должно быть warning'ов.

    8. Правильный менеджмент пользователей/групп. Приложения/сервисы не должны запускаться под root'ом (разве что они действительно этого требуют и иначе никак). Для каждого сервиса создается свой пользователь.

    9. Если предполагается upload файлов через PHP (либо другие скриптовые языки), в директории, куда эти файлы загружаются (и которая доступна снаружи), должно быть жестко отключено любое выполнение скриптов/бинарников, что на уровне ОС (x права), что на уровне веб-сервера.

    Это была база.
    Дальше, в меру своей паранойи можно за'harden'ить сервер ещё следующими моментами:
    - SELinux, chroot
    - доступ к SSH только с определенных IP (нужно иметь 3-4 VPN-сервера под рукой)

    UPD И да, все это помнить/настраивать руками каждый раз может быть запарно. Используйте Ansible и автоматизируйте процесс (там родные и YAML, Jinja2 и Python).
    Ответ написан
    10 комментариев
  • Как сделать такой эффект?

    @followthemadhat
    Frontend Web Developer
    SVG
    Ответ написан
    Комментировать
  • Влияет ли CSS валидация на SEO, каким сайтом её смотреть?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Наверняка влияет, но наверняка не так сильно, что бы был ощутимый спад.
    Факторов много, Вы явно упускаете более весомый.
    Ответ написан
    Комментировать
  • Как привлечь посетителей на сайт без вложений?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    3 комментария
  • Как выбрать место на карте через админку?

    sp1rob
    @sp1rob
    После просмотра ленты, создается впечатление, что вы нашли альтернативу гуглу, документации и книгам. Не пытаясь разобраться в вопросе и изучить тему - сразу закидываете поисковые фразы на Тостер. Мне не жалко, но все же...
    Ответ написан
    Комментировать
  • Как сформировать адекватную поддержку продукта на большом количестве иностранных языков?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Поначалу англоязычная поддержка. Когда имеет смысл с точки зрения бизнеса (экономически целесообразно уже), определяется наиболее востребованный язык по списку и нанимается специалист в поддержку, носитель языка. Он проходит обучение и приступает к работе. Когда (если) все это дело растет и дальше, нанимаются дополнительные люди, формируются отделы и тд. Клиент может обратиться в поддержку на своем языке (если язык поддерживается вашей службой поддержки), если в данный момент специалисты на его языке недоступны, может быть fallback на английский. Для системы тикетов бессмысленно, для онлайн-чата и телефонной поддержки - полезная и удобная штука.

    Например, из последнего опыта - звонил в какую-то службу поддержки (уже не помню куда), в русский департамент. После минуты ожидания на телефоне, мне было предложено продолжить ожидание или же нажать 1 для переключения на международную (англоязычную поддержку). И так каждую минуту повторяется, в течение 5 минут. Если русский департамент трубку не взял, по истечении лимита времени вас перебрасывает на англоязычную. Там меня ждал какой-то индус из британского офиса, с вполне приличным английским, время ожидания - секунд 5. Удобно.
    Ответ написан
    Комментировать
  • Почему числа с унарным минусом выдают 'true' в логическом контексте?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Потому что false - это только 0 и NaN. Всё остальное - true (включая Infinity и -Infinity).
    Если для вас это важно, то проверяйте на x > 0
    Ответ написан
    5 комментариев
  • Создаю Биткойн кошелек. Какой лучше?

    @rPman
    electrum - идеальное решение для тех, кому не требуется доступ к blockchain (он нужен если вы захотите проводить свой анализ или нестандартные запросы).

    - мгновенный старт и не требует ресурсов от слова совсем (написан на питоне, клиент есть для android)
    - высокий уровень безопасности, никуда не передает приватные ключи (онлайн кошельки например хранят ключи на сервере), а в криптовалюте - приватный ключ = доступ к монетам.
    - удобное резервное копирование - для сохранения доступа ко всем адресам, сгенерированным в вашем аккаунте достаточно запомнить одну фразу из 12 английских слов (это не касается вручную импортированных адресов, само собой)
    - простой и удобный интерфейс, у десктопной версии есть удобные возможности по управлению адресами и использованию их для отправки новых транзакций (можно заморозить адрес чтобы с него не списывались монеты) так же видно сколько монет на каком адресе, можно условно считать это подакканутами внутри аккаунта, есть даже режим возврата сдачи на тот же адрес, с которого шло списание (не рекомендуется, если вы не хотите хотя бы минимальной слежки за своими тратами)
    Ответ написан
    Комментировать
  • Чем делать в этой ситуации?

    sabramovskikh
    @sabramovskikh
    Учиться конечно. Или бухать.
    Ответ написан
    Комментировать
  • Как сделать faq на сайт?

    @Wexter
    Могу посоветовать не страдать хернёй и заняться реализацией задачи.
    Ответ написан
    Комментировать
  • Как выбрать предыдущий элемент в блоке HTML?

    abyrkov
    @abyrkov
    JavaScripter
    docoument.querySelector('.radio__round cheked')..previousElementSibling;
    Ответ написан
    Комментировать
  • Как запросить данные из диалогового окна при запросе страницы?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Ответ написан
    Комментировать