Ответы пользователя по тегу Веб-разработка
  • Как задать сайту протокол https?

    SagePtr
    @SagePtr
    Еда - это святое
    В зависимости от строгости (каждый последующий пункт включает в себя все предыдущие):
    1) Принудительно перенаправлять с HTTP на HTTPS.
    2) Добавить заголовок Strict-Transport-Security, чтобы браузер после первого захода запомнил это и не пытался грузить по HTTP.
    3) Добавить сайт в HSTS Preload List, чтобы браузеры заранее знали, что сайт нужно через HTTPS открывать, и даже не открывали по HTTP.
    Ответ написан
    Комментировать
  • Безопасно ли отправлять данные по HTTPS?

    SagePtr
    @SagePtr
    Еда - это святое
    Следует также помнить, что TLS защищает только передаваемый трафик. Если вредоносное ПО установлено на клиенте, или администратор сервера недобросовестный, либо сервер под контролем спецслужб - то трафик всё равно будет перехвачен, но не посередине, а в начальной или конечной точке.
    Ответ написан
    Комментировать
  • Как открыть сайт, имея только данные от vds на котором он расположен?

    SagePtr
    @SagePtr
    Еда - это святое
    Для начала - установить и настроить веб-сервер, чтобы он принимал подключения извне и отдавал этот сайт. Если 403 всё же возвращает - значит, веб-сервер уже стоит, но очевидно не настроен.
    Ответ написан
  • Почему не работает Google authenticator и подобные приложения?

    SagePtr
    @SagePtr
    Еда - это святое
    Время или часовой пояс неправильные на устройстве, в результаты коды генерируются из прошлого или из будущего. Проверить можно, открыв на устройстве сайт https://time.is/ - там будет написано отклонение от эталонного времени.
    Ответ написан
    6 комментариев
  • Как запретить редактирование html на сайте?

    SagePtr
    @SagePtr
    Еда - это святое
    Как вариант извращения - храним где-то копию document.documentElement.innerHTML, сверяем каждую секунду, если не совпадает - перезагружаем страницу.
    А если серьёзно - полагаться на честность пользователя нельзя, он легко сможет изменить всё что угодно на своей стороне.
    Ответ написан
    1 комментарий
  • Как разместить сайт не по корневой ссылке?

    SagePtr
    @SagePtr
    Еда - это святое
    Тупо создаётся папка forum и туда кладётся содержимое форума
    Ответ написан
    Комментировать
  • Как правильно объяснить пользователю что ему стоит обновить браузер?

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

    SagePtr
    @SagePtr
    Еда - это святое
    Ещё при попытке отправки заявки у вас вылезает ошибка PHP:
    iboqzuqntwnm8pzxhl2cjydjoja.png
    По хорошему вывод ошибок на экран в конфиге PHP стоит отключить (включать только на компьютере разработчика, но не на боевом сервере), вместо этого включить вывод ошибок в лог и иногда ознакамливаться с логом ошибок и исправлять их по мере обнаружения.
    Ответ написан
    1 комментарий
  • Как работает веб-сервер и node js в связке? Зачем нужен Nginx?

    SagePtr
    @SagePtr
    Еда - это святое
    Я nginx юзаю по той причине, что на одном сервере крутятся несколько приложений, с его помощью удобно объединить их все "под одной крышей", не арендуя для каждого из них отдельный инстанс. В ситуации с дефицитом IPv4-адресов это как-то расточительно, а так - каждое приложение слушает отдельный порт, nginx слушает 80 и 443 и проксирует все запросы по имени домена на них.
    Да и гораздо проще всю работу по обеспечению общения клиентов с сервером скинуть на nginx - не надо в каждом приложении отдельно делать логирование запросов, работу по получению и продлению SSL-сертификатов, можно сосредоточиться на решении конкретной проблемы.
    Ответ написан
    Комментировать
  • Почему на сайтах всё чаще используют CAPTCHA третьей стороны?

    SagePtr
    @SagePtr
    Еда - это святое
    Сервисы капч видят статистику по всему интернету - на какие ещё сайты с данными капчами с конкретного IP заходят и с какой частотой - на основании всей совокупной информации делают выводы касательно легитимности пользователя и дают задание, если действия подозрительны или слишком много запросов в определённый промежуток времени. Если собственную капчу установить - такую статистику собрать физически не получится.
    Ответ написан
    Комментировать
  • Возможна ли блокировка домена со стороны мобильного оператора? И можно ли её как то обойти?

    SagePtr
    @SagePtr
    Еда - это святое
    Учитывая название (alcoduty) - подозреваю, что может быть это какой-нибудь родительский контроль у провайдера принудительно включён с целью "заботы о клиентах".
    Ответ написан
    Комментировать
  • Комментарии на php + mysql&?

    SagePtr
    @SagePtr
    Еда - это святое
    Если разбирать все ошибки и глупости, содержащиеся в коде, можно целую статью написать на несколько страниц A4.
    Пробегусь вкратце:
    1) Дублирование условия после подключения к БД. Если вы делаете "or die", то код в случае выполнения этого условия будет завершён, повторно проверять переменную не нужно (она уже была проверена там, где вы сделали "or die")
    2) Двойной запрос для двух колонок отдельно. Открою секрет: SQL позволяет возвращать много столбцов, и более того - он позволяет объединить таблицы самыми разными способами. Отдельно выбирать сообщения и их авторов не нужно.
    3) Результат mysqli_query будет false только в том случае, если запрос завершился ошибочно (например, текст запроса неправильный). Если таблица пуста - будет всё равно возвращён объект, а не false.
    4) Зачем в одном и том же месте перемешивать echo и print?
    5) При записи - не происходит ни проверки данных, ни экранирования. Можно легко передать в БД любой запрос, в том числе удаление всех таблиц.
    6) Про то, что идёт обращение к полям массива $_POST, но они даже не проверяются на существование, я промолчу.
    7) Дублирование кода, в каждом файле отдельно подключение к БД, логичнее вынести в отдельный файл, а логины-пароли держать в конфиге, недоступном для чтения никому кроме скрипта.
    Ответ написан
  • Может ли сайт донор узнать, что я использую его картинки?

    SagePtr
    @SagePtr
    Еда - это святое
    Чтобы реферер не передавался, используйте на всех страницах сайта HTTP-заголовок вроде этого:
    Referrer-Policy: same-origin
    Но это спасёт только от того, что адрес вашего сайта будет фигурировать в логах. Но факт самой загрузки картинок без загрузки самого сайта проверить всё равно можно будет проверить, т.к. пользователи, загружающие эти картинки, не будут загружать страницы с исходного сайта.
    Ещё также поисковики могут взять и заиндексировать.
    Ответ написан
    Комментировать
  • Как разрабатывать проекты, требующие https-соединения?

    SagePtr
    @SagePtr
    Еда - это святое
    Под винду тоже можно получать сертификаты letsencrypt и использовать их на локальном сервере. Если нужно, чтобы не торчало наружу - то с проверкой по DNS.
    Ответ написан
    Комментировать
  • Как правильно отправить тело в POST запросе?

    SagePtr
    @SagePtr
    Еда - это святое
    Забыли ещё указать заголовок:
    Content-Type: application/x-www-form-urlencoded
    Сервер же должен знать, в каком формате тело запроса (хотя он может и попробовать догадаться, но зачем ему играть в угадайку?)
    Ответ написан
    Комментировать
  • Какое влияние на html/css производит мобильная клавиатура?

    SagePtr
    @SagePtr
    Еда - это святое
    Мобильная клавиатура занимает на экране место, возможно, из-за этого у вас меняются размеры видимой области и срабатывает событие ресайза, а обработчик его наверняка у вас творит какую-нибудь дичь (не видя код, нельзя сказать, что там у вас происходит в нём).
    Ответ написан
    Комментировать
  • Может ли Роскомнадзор блокировать сайты в зонах OpenNIC?

    SagePtr
    @SagePtr
    Еда - это святое
    Роскомнадзор только составляет списки, блокируют по спискам провайдеры. А добавить в список он может всё что угодно, несколько раз он добавлял 127.0.0.1 и IP-адреса собственных сайтов (дай дебилу дубинку - он сам себе её в анус случайно засунет).
    Ответ написан
    Комментировать
  • За счет чего достигается высокая скорость сайта?

    SagePtr
    @SagePtr
    Еда - это святое
    PageSpeed Insights с Вами не согласен и выдаёт только 56 баллов из 100. Может быть, после вопроса все побежали проверять, и сайт лёг)
    Ответ написан
    4 комментария
  • Почему на опенсервере работает путь к файлу, а на хостинге нет?

    SagePtr
    @SagePtr
    Еда - это святое
    1) Имена файлов в linux чувствительны к регистру, а в Windows - нечувствительны
    2) Если путь содержит кириллицу или другие не-ASCII символы, то они могут быть тупо не в той кодировке, что в винде.
    Ответ написан
    Комментировать
  • Sublime вместо кириллицы показывает это РћРЎРљРђР. В чем ошибка?

    SagePtr
    @SagePtr
    Еда - это святое
    Для начала - посмотреть заголовок Content-Type, который отдаёт сервер, если там что-то вроде text/html; charset=windows-1251 (или любая другая кодировка, не соответствующая действительности) - то перенастроить, чтобы кодировка была правильная в заголовке. Кодировка в заголовке имеет приоритет над кодировкой, указанной в мета-тэге (по крайней мере, в Firefox и Chrome, в других браузерах не тестировал), потому даже если в мета-тэге указана правильная кодировка, в заголовке всё равно может при этом неправильная быть и из-за этого отображаться неправильно.
    Ответ написан
    Комментировать