Задать вопрос
  • Как запретить вывод ошибок SQL запроса в PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Во-первых, error_reporting(0); нельзя писать вообще НИКОГДА. Эта строчка всегда должна быть только в виде error_reporting(E_ALL);
    Во-вторых, ini_set('display_errors', 0); - это единственное, что нужно, чтобы запретить вывод ошибок, которые генерирует РНР.
    В-третьих, чтобы твой код не выводил ошибки, не надо писать код, который сам же выводит ошибки на экран. Логично, правда?
    В частности, никогда не использовать обезьяний код, который очень любят рекомендовать местные "специалисты", echo $mysqli->error или or die. То есть тупо выкинуть все такие места из кода

    Вместо этого надо просто сказать РНР чтобы ошибки при работе с БД генерировались сами. И тогда их вывод будет подчиняться директиве display_errors

    В частности, для mysqli это
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    Ответ написан
    7 комментариев
  • Каким образом отслеживают IP адрес, если вы используете VPN?

    А если этим VPN сервисом (сервером) пользовались сотни, а может тысячи человек, как тогда искать?

    Запрашивают логи у ВПН-провайдера.

    Но вообще VPN-сервисов огромное количество и очень много людей пользуется ими в том числе и для работы (чтобы подключаться к внутренней сети компании)

    По тому "Человек использует VPN" не является признаком нарушений. Тем более использовать VPN и посещать заблокированные ресурсы ещё не запрещено.
    Ответ написан
    2 комментария
  • Проблемы с созданием cookie?

    dyuriev
    @dyuriev
    A posteriori
    Каждый день одно и тоже
    1. Открываем официальную документацию: header();
    2. Офигиваем, что она доступна на русском
    3. Читаем:
      Помните, что функцию header() можно вызывать только если клиенту ещё не передавались данные. То есть она должна идти первой в выводе, перед её вызовом не должно быть никаких HTML-тегов, пустых строк и т.п. Довольно часто возникает ошибка, когда при чтении кода файловыми функциями, вроде include или require, в этом коде попадаются пробелы или пустые строки, которые выводятся до вызова header(). Те же проблемы могут возникать и при использовании PHP/HTML в одном файле.
    4. Ищем, какой вывод попал перед отправкой заголовков


    А так же, в конце то концов, внимательно читаем ошибку:
    Cannot modify header information - headers already sent by
    Вольный перевод:
    Невозможно изменить заголовки, так как они уже отправлены


    - Но у меня же нет header()! - скажете вы
    - А хрен там, есть!

    Открываем еще одну интересную страницу: setcookie();

    И читаем там:
    setcookie() задаёт cookie, которое будет передано клиенту вместе с другими HTTP-заголовками. Как и любой другой заголовок, cookie должны передаваться до того как будут выведены какие-либо другие данные скрипта (это ограничение протокола). Это значит, что в скрипте вызовы этой функции должны располагаться до остального вывода, включая вывод тегов <html> и <head>, а также пустые строки и пробельные символы.
    Ответ написан
    2 комментария
  • Чем отличается веб-разработчик от фронтенд разработчика?

    Веб-разработчиком могут называть и бэкендера, и фуллстака, и фронта.
    А фронтендер - это фронтендер.
    Ответ написан
    Комментировать
  • Как законно изготовливать видеоигры 18+ в России?

    BorLaze
    @BorLaze
    Java developer
    Вопрос к программированию относится чуть меньше, чем ничуть.

    Человече, о какой законности игр 18+ ты спрашиваешь, если за репост клипа Рамштейна два с половиной года выписывают???
    Ответ написан
    Комментировать
  • Чем отличаются DOMNode и DOMElement?

    Kasperenysh
    @Kasperenysh
    Рецидив в особо острой форме))
    Первая же ссылка в гугле))) по моему доходчиво
    Ответ написан
    Комментировать
  • Чем отличаются DOMNode и DOMElement?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Возьмём простейший HTML
    <body>
      <p>Привет!</p>
    </body>

    Теперь построим дерево узлов (node)
    BODY
      #text "\n  "
      P
        #text "Привет!"
      #text "\n"

    Получился узел BODY с тремя дочерними узлами, #text, P и снова #text. При этом, узлы BODY и P соответствуют тэгам HTML. Именно они и являются элементами. Узлы типа #text были добавлены браузером автоматически при построении дерева DOM и элементами не являются, так как не имеют соответствующих им тэгов в HTML-коде.
    Ответ написан
    1 комментарий
  • Какая ОС может работая на голом железе, может запускать внутри себя другие операционные системы?

    dyuriev
    @dyuriev
    A posteriori
    Они все в качестве программы так или иначе. И называются гипервизорами
    1. Самое простое для вас будет - установка на чистый debian/ubuntu (без графической оболочки) virtualbox и веб интерфейс к нему
    2. Посложнее, но так же бесплатно - установка proxmox (по сути гипервизор на базе debian)
    3. Примерно как proxmox по сложности вхождения, но в бесплатной версии больше ограничений - VMWare ESXi, но там уже консоль не привычный линукс, зато можно считать наиболее близким кандидатом к вашим требованиям


    Есть еще решения от майкрософта, а так же на базе freebsd, но я не пользовался
    Вариантов море, даже docker-swarm можно условно считать "может запускать внутри себя другие операционные системы"
    Ответ написан
  • За какое время скопируется файл на флешку USB 3.0?

    @mkone112
    Начинающий питонист.
    Зависит исключительно от флешки. Разница между двумя usb 3.0 флешками может достигать порядка и больше.
    Ответ написан
    Комментировать
  • Реализация отложенных задач на локальном сервере?

    @cicatrix
    было бы большой ошибкой думать
    Task Sheduler и Cron, но я так понимаю им всем нужно подключение к интернету

    Откуда этот бред? Может быть ознакомились бы для начала с их документацией?

    Cron или Task Sheduler - именно то, что нужно, если нужно просто и быстро.
    Ответ написан
    Комментировать
  • Создал в корне проекта файл .env, как сделать так, чтобы getenv возвращал значения из .env?

    В последующем для запуска в docker.

    .env нужен только для разработки. В докере вы точно также должны указывать переменные среды через ENV.
    Если не хотите подключать сторонние библиотеки - напишите свою функцию, которая будет парсить .env
    Ответ написан
    Комментировать
  • С некотрых пор трекер на Хабре перестал фиксировать не только появление новых комментариев, но и сами темы публикаций. Как это исправить?

    pragmatik
    @pragmatik Куратор тега Хабр
    Раньше на Хабре были недокументированные неявные подписки на отслеживание в трекере, т.е. , при добавлении статьи в закладки или размещении комментария к статье, пользователя автоматически подписывало на отслеживание обновлений в трекере. Несколько недель назад это убрали, поскольку такие неявные подписки считаются плохой практикой. Теперь, если пользователь хочет отслеживать что-либо в трекере, ему необходимо целенаправленно включить отслеживание в трекере через интерфейс, расположенный над списком комментариев к статье, или сочетанием клавиш, если у него активировано использование горячих клавиш в настройках учетной записи.
    Ответ написан
    1 комментарий
  • Можно ли устроиться на работу программистом в Америке, имея только бакалавриат инженера?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Можно устроиться даже без образования, если есть знания и опыт. А вот без них и красный диплом не поможет.
    Ответ написан
    Комментировать
  • Linux Manjaro. как установить yum?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Мы установим тебе пакетный менеджер в пакетный менеджер, чтобы ты мог устанавливать пакеты, устанавливая пакеты...(с)
    Ответ написан
    1 комментарий
  • Какие еще преимущества у юнит-тестов, кроме того, что они отлично обеспечивают регрессионное тестирование?

    Писать тесты может джун, это правда. Понимать что и как тестировать — это бывает и для опытного человека сложно.

    Описанные недостатки — очень спорные. Метод пристального взгляда находит баги только в первые 10 минут, пока голова свежая.

    Но да, с тем, что автотестами нужно покрывать не всё, я лично полностью согласен. Вдобавок, часто высокоуровневые функциональные или end-to-end тесты писать проще, а для проекта они полезнее. Тут надо искать баланс для себя. И еще в это уравнение добавить ручное тестирование. Какой-то общей формулы, понятно, нет.

    А вопрос-то ваш в чём? Пока выглядит как «вы тут меня поуговаривайте писать тесты, а я вам буду объяснять, почему не буду этого делать». Не хотите — не пишите. Если для вашего проекта и для вашей команды тесты не несут большой пользы, то и не пишите их.
    Судя по вашим прошлым вопросам, вы считаете, что всё знаете лучше других, соответственно, вопрос нужен, чтобы потешить ЧСВ? Ну или вы нарвались на какой-то карго-культ-секты-стопроцентного-кавереджа? В таком случае — сочувствую.
    Ответ написан
  • Можно ли через картинку совершить XSS атаку?

    Stalker_RED
    @Stalker_RED
    В base64 используются символы A-Z, a-z, 0-9, +, / и =.
    То есть строка в base64 не может ни закрыть тег ни даже кавычки.

    И у вас какое-то очень странное представление о SQL, вы бы хоть почитали что это такое.
    Ответ написан
    5 комментариев
  • Как обнулить IP адрес?

    @Akina
    Сетевой и системный админ, SQL-программист.
    По договору с провайдером у меня динамический IP. Услугу статического IP я не подключал. Однако мой IP не меняется уже месяц.
    [skipped]
    Что делать и каким способом обнулить время аренды DHCP IP-адреса? Как вернуть динамический IP?
    Для начала - не путайте тёплое с мягким. Да, с цветным тоже не путайте.

    Динамический IP означает, что Вам не нужно прописывать настройки, что все настройки Вы получите от оборудования провайдера по DHCP. Это всё.

    Повторяю - ЭТО ВСЁ! Больше ничего эта фраза в договоре не означает. Она не устанавливает, публичный адрес у Вас будет или приватный (белый или серый), не устанавливает, будет ли адрес всё время один и тот же, или будет периодически либо регулярно изменяться...

    Далее. Время аренды адреса - это параметр, которым оперирует DHCP-сервер провайдера. Он напрямую связан с МАС-адресом Вашего оборудования (сетевая карта, роутер), подключенного к провайдеру, и выделенным для этого МАС IP-адресом. Соответственно "обнулить время аренды" можно двумя способами:

    1) Выключить своё оборудования на время более текущего времени аренды. Ненадёжно - на DHCP соответствие будет сохраняться, пока этот IP не будет выдан кому-то ещё (что в случае проводных провайдеров событие маловероятное).

    2) Сменить МАС-адрес на своём оборудовании. Не будет работать, если у провайдера имеется привязка по порту (причём может быть как привязка клиентского МАС, так и выделяемого IP).

    Многие сайты считают меня ботом и не пускают. Иногда дело доходит до апсурда, и меня в гугле банят. Что искать в Google надо проходить проверку "я не робот", а это очень тяжело, особенно когда приходится две или три попытки делать.


    Эта проблема вообще слабо связана во всем остальным. Тут надо скорее разбираться, откуда такое счастье. Скорее всего, у тебя приватный адрес, а публичный адрес прова используется для выхода в Инет не только тебя, но и ещё кучи клиентов. Тогда все проблемы ожидаемы, а реакции других сайтов - скорее всего, обоснованы.

    Если отсутствие интерференции с другими клиентами действительно важно - следует приобрести у провайдера услугу выделенного реального IP-адреса. В данном случае:

    "выделенный" - присвоенный только тебе, одновременно с тобой с этого адреса никто работать не может.

    "реальный" - он же белый, адрес, маршрутизируемый в Инете.

    И да - этот адрес вполне может оставаться динамическим и изменяемым. В твоём случае это почти безразлично. Кроме случая очень злопамятных сайтов, которые помнят айпишники "ботоводов" неделями и месяцами. Тогда заказывай постоянный выделенный реальный IP (постоянный - не изменяющийся со временем).
    Ответ написан
    9 комментариев
  • Почему нет доступа к приложению из сети?

    @sand3001
    Всего по немногу
    Приложение от root запускается на ubuntu? Если нет - то 80 порт оно не будет слушать. Для прослушки портов 1-1024 нужны права root. Это первый момент.
    Второе. Если слушает на 127.0.0.1:5000 - то оно и не будет доступно по SERVER_IP:5000, надо localhost менять на SERVER_IP или 0.0.0.0 и проверять настройки firewall
    Ответ написан
    3 комментария
  • Как сделать инструмент контроля транзакций между юрлицами?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Никак. Вы можете только заключить с ними договор и заниматься контролем в рамках вашей платформы. Любые операции по слежке за вашими клиентами вне рамок вашей платформы будут считаться незаконными и сможете вы об этом узнать и доказать в суде только в случае если вам кто-то "сольет" соответствующую информацию с доказательствами
    Ответ написан
    Комментировать