Задать вопрос
  • Полезные инструменты для проверки мошенников?

    Сначала дай определение мошенническому сайту.

    Предположим, что мошеннический сайт - это такой сайт, который использует мошенник в своих мошеннических действиях.

    В общем случае, таких средств нет - нужно самостоятельно воспользоваться с сайтом, столкнуться с фактом мошенничества и далее доказать в суде, что владелец сайта - мошенник.

    Для случаев, когда мошеннический сайт выдаёт себя за настоящий - достаточно просто глаз и внимательного прочтения адресной строки.

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

    @Drno
    мозг
    Ответ написан
    Комментировать
  • Полезные инструменты для проверки мошенников?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Голова
    Голова
    Очень важная деталь - голова!
    Ответ написан
    Комментировать
  • Как добавить required к форме с выпадающим js календарём?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Судя по коду (а ведь могли бы сами написать, что используется FlatPickr и jQuery Form), стоит дополнить именно отправку формы: добавить валидацию данных до отправки, и в случае null в поле даты (по умолчанию там null, в "0000-00-00" преобразовывается где-то после), прекращать дальнейшую отправку формы, а юзеру показывать напоминалку ввести дату рождения.

    См. beforeSerialize или beforeSubmit в опциях jQuery Form. Там проверяйте, что в поле даты рождения, и если null (или минимальная допустимая дата) – даже и не отправляйте форму.
    Ответ написан
    Комментировать
  • Как правильно настроить права для веб-сервере apache2+php-fpm?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Самое первое, что стоит проверять в таких случаях - это selinux.
    Самое второе - что все папки в цепочке от корня читаемы для пользователя пхп.

    А если говорить в целом, запускать пхп от пользователя хттп довольно бессмысленно. Пользователь фпм должен совпадать с владельцем файлов. То есть запускать надо от девопса.

    Лично я делаю так: веб-сервер работает под своими группой/пользователем, а пхп - под SSH логином пользователя сайта. У вас это может быть видимо этот девопс.
    Чтобы их поженить, просто добавляем пользователя веб-сервера в группу пользователя, usermod -a -G devops www-data, а папочке веб-сервера соответственно выставляются права 750. Веб-серверу нужно только чтение, и он его имеет через группу. Таким образом можно соорудить такой мини-хостинг, разные ползователи не могут ходить в папки друг друга, и при этом нет обычной чехарды, когда пользователь ssh/ftp и пользователь пхп-фпм разные.
    Ответ написан
    2 комментария
  • Кто сталкивался с ботами скручивающими пф от BITERIKA group?

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

    вы хотите с сайта aviamaf.ru раздавать картинки или наоборот загружать их на aviamaf.ru?
    Ответ написан
    2 комментария
  • Почему не работает JSON.parse?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    - let text = `{"content":"<svg width=\"133\" height=\"510\" viewBox=\"0 0 133 510\">"}`
    + let text = '{"content":"<svg width=\\"133\\" height=\\"510\\" viewBox=\\"0 0 133 510\\">"}'

    Как получить правильный JSON:
    console.log(JSON.stringify({content: '<svg width="133" height="510" viewBox="0 0 133 510">'}))
    // '{"content":"<svg width=\\"133\\" height=\\"510\\" viewBox=\\"0 0 133 510\\">"}'
    Ответ написан
    2 комментария
  • Не переходит по ссылке, что делать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А если подумать?
    Что должен выдать document.querySelector('https://vk.com/krosrs')?
    Правильно, ошибку. Что и выдаёт.
    что делать?
    Для начала определиться, а что именно вы хотите получить этим кодом и зачем делать ссылку, а потом запрещать переход по ней.
    Ответ написан
    Комментировать
  • Почему флешка быстро умирает, если на неё несколько раз залить линукс для последующей установки?

    @aleks-th
    Это современные говнофлешки, сделанные из микросхем из которых самые шлаковые SSD делают. (и они имеют свойства терять данные после того как просто полежат на полочке...)

    Попробуй подойти к вопросу кардинально, сменив носитель:
    Сам долго воевал с флешками - потом плюнул, взял из старого ноута HDD на 500 гиг. положил в коробочку, поставил тот же Ventoy и с него теперь ставлю.
    Проблем как с флешкой что полежит и файлы не работают теперь нет.
    Ответ написан
    2 комментария
  • Как в комментарии сделать ссылки на участок кода?

    Adamos
    @Adamos
    /**
     * @link MyClass::myMethod
     */
    
    class MyClass
    {
        static public function myMethod()
    Ответ написан
    1 комментарий
  • Как сделать правильную табуляцию в html?

    Ситуация следующая: нет никаких официальных стандартов оформления HTML. Это в документации HTML нигде не прописано. Потому что для экономии трафика вообще нежелательно, чтобы в передаваемом body были лишние символы, не несущие никакой функциональности. Лишние пробелы между тегами вообще не учитываются браузером.

    Исходя из этого можно заключить, что любые style guides, которых придерживаются программисты, - это просто соглашение, действующее в рамках какой-то одной организации либо сообщества. Вы устраиваетесь на работу и там вам дадут документ либо конфигурационный файл, в котором будут перечислены все правила, которых придерживаются в данной организации: 2, 4, 8 пробелов, символ табуляции, полное отсутствие пробелов между тегами. И вот этих правил надо придерживаться.

    Таким образом, в вашей ситуации случилось одно из двух:
    • преподаватель изначально дал вам список всех правил, но вы просто забыли об этом либо пропустили это занятие. Тогда преподаватель прав, и вам надо уточнить у него весь этот список правил и сказать, что больше так не будете.
    • преподаватель не дал вам этот список, поэтому, если у вас во всём проекте одинаковое количество пробелов в отступах в HTML, то правы вы, и вы можете потребовать от преподавателя предоставить вам список правил, которые он требует, и вежливо пояснить ему, что он не прав, критикуя вас за выбор количества пробелов без предварительного предоставления подробных style guides.
    Ответ написан
  • Почему при выводе дробных числ появляются лишние цифры?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Потому что у вас числа с плавающей запятой.
    Ответ написан
    Комментировать
  • Как сверстать блок с прорезями, в которых видно видео, которое играет на заднем плане?

    LenovoId
    @LenovoId
    svg, css,js
    Это если SVG надо.
    При желании можно сделать бегущую строку под этой картинкой или под видео...
    Ответ написан
    2 комментария
  • Как в ходе распознавание номеров, записывать данные в БД, при этом исключить дубли?

    martin74ua
    @martin74ua Куратор тега MySQL
    Linux administrator
    Индекс на поле уникальный назначить религия не позволяет?
    Ответ написан
    5 комментариев
  • Вирус (глупый) запускает очень много окон cmd.exe просто загружая оперативку. Как его отследить и устранить?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    1. Загрузиться в безопасном режиме
    2. Скачать пакет Sysinternals
    3. Запустить Autoruns
    4. Найти и убрать лишние записи в атозагрузке
    Ответ написан
    3 комментария
  • В чем заключается ошибка этой логики рекурсии?

    @timau32
    Ну у тебя почти все правильно разве, что можно сделать его короче.

    function disco(delay, isRed) {
        setTimeout(function tick() {
            document.body.style.backgroundColor = isRed ? 'red' : 'green';
            disco(delay, !isRed)
        }, delay);
    }
    
    disco(1000);


    и в принципе потом можно по такой же логике просто подрубить setInterval вместо бесконечных генераций Таймаутов.
    Ответ написан
    Комментировать
  • Метод разработки и обновления сайта?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Все зависит от организации работы в конкретной конторе и конкретного разработчика, но лично у меня работает следующий подход:
    1. Пишем начальное тз, минимальный необходимый перечень.
    2. Говнокодим на основание п1 по принципу - "сделать быстро и чтобы работало по тз".
    3. Пушим п2 в гит и разворачиваем сайт (или компонент на сайте).
    4. Записываем фидбэк о компоненте, что не работает, как хотелось бы чтобы работало итп. Если это не критические замечания (безопасность или что то основное не работает), то откладываем изменения на месяц, квартал или год.
    5. При накопление критической массы замечаний в п4 (ну или у Вас просто не осталось задач на настоящий момент) - добавляем рефакторинг п3 в очередь задач.
    6. Повторяем 3-6 пункты до бесконечности.

    При данном режиме работы решается сразу 3 задачи:
    - Не требуется детальное тз на старте, в котором все равно не удастся предвидеть все наперед, соответственно сокращается общее время разработки и его стоимость.
    - Сайт или компонент сайта выпускается в релиз очень быстро, а значит решает задачу бизнеса так же быстро.
    - Прозрачный и прогнозируемый по срокам и стоимости режим релизов.

    Важное уточнение!

    Схема с минимальным ТЗ и говнокодом работает лишь с теми заказчиками, которым Вы подробно разъяснили, почему сроки и стоимость ниже, почему за каждую "хотелку" не указанную в тз придется доплачивать, и почему необходим рефакторинг.

    Идеальный вариант, донести до заказчика мысль, что проект будет требовать постоянного финансирования (в определенном ежемесячном объеме) на разработку новых или рефакторинг старых компонентов. В таком случае у Вас всегда будет под рукой разработчик, который сможет оперативно и за привычную стоимость решить поставленную задачу, который уже привык работать в таком режиме и ему не нужно лишний раз объяснять одно и то же.
    Ответ написан
    Комментировать
  • Что чаще всего пишут на Go?

    На Go мало фреймворков, потому что у Go просто невероятная стандартная библиотека. Например, с недавним обновлением библиотеки http я тупо не вижу смысла в сторонних роутерах. Не знаю почему, какая у языка магия, но мне почти всегда хочется написать своё решение, подходящее именно для этой конкретной задачи, чем лепить монстра из внешних зависимостей.

    Основной домен языка - это Web. Это и полноценные REST (и не только) API, это и отдельные узлы систем. А я, например, стал писать на Go и фронтенд, познакомившись с замечательной JavaScript библиотекой HTMX.

    Многие люди пишут на Go консольные приложения. Я часто всякие утилитки пишу вместо того, чтобы мучиться с корявым синтаксисом bash, от которого меня тошнит.

    Кстати, Докер и Кубернетес написаны на Go, но это, скорей исключение.

    Есть даже пакеты, позволяющие писать десктопные приложения.

    На Go отлично писать всяких ботов.
    Ответ написан
    2 комментария
  • Как организовать автодеплой на сервер в закрытом контуре?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    к серваку не будет доступа по ssh в рабочем режиме

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

    Опять же вызывает вопросы "закрытость" контура: закрыт он от доступа извне или доступ наружу изнутри контура тоже отсутствует? Как тогда предполагается доставлять изменения?
    Ответ написан
    6 комментариев