• Как правильно расставить права на файлы и директории сайта на VPS?

    @rPman
    Первое число - права для владельца, второе число - на группу, третье - для всех
    5 и 7 отличаются от 6 и 4 тем что там установлен бит x - executable, его нужно ставить на каталоги, но на файлы не обязательно (их ставят на скрипты и бинарники, которые нужно запускать, и в случае скриптов это не обязательное условие, просто запуск +x файлов возможен просто указанием файла /path/file)

    5 - права на чтение и запуск, 7 - права на чтение+запись и запуск, 4 - права только на чтение, 6 - права на чтение и запись.

    скорее всего у тебя по каким то причинам на скрипты твоего бакэнда требуется +x флаг, у тебя там cgi?
    почему у тебя работает? потому что ты ставишь 5 на всех пользователей.

    Веб сервер работает от пользователя www (или apache или http что там у тебя настроено) а файлы ты скорее всего заливаешь от пользователя root или какого ты создал пользователя для работы

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

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

    Правильное решение, грамотно и вдумчиво настроить права доступа, веб сервер должен иметь доступ только на чтение (и на запуск, если этого требует твой бакэнд), еще можно вынести настройки базы данных в какой-нибудь сервис их хранения чтобы простым доступом к файлам этот пароль вытянуть было нельзя. Есть еще практики, запускать веб сервис в chroot/docker с сильно кастрированным окружением, буквально без bash и различных утилит, только веб сервер (помню для ftp точно такие настройки были), следующий этап подписывание скриптов и бинарников с запретом запуска неподписанных, это еще сложнее но повышает уровень безопасности очень высоко.
    Ответ написан
    1 комментарий
  • Как сделать товары улетающие в корзину?

    @hesy
    Код анимации

    $(document).ready(function() {
        // Когда документ полностью загружен и готов к работе...
        
        $(".ajax_add_to_cart").on("click", function() {
            // При клике на элемент с классом "ajax_add_to_cart"...
            
            var productImage = $(this).closest(".post").find("img");
            // Находим ближайший родительский элемент с классом "post" и внутри него ищем изображение (тег <img>)
            
            productImage
                .clone() // Клонируем изображение товара
                .css({
                    position: "absolute", // Позиционируем клон абсолютно на странице
                    "z-index": "11100", // Устанавливаем высокий порядок слоя для клонированного изображения
                    top: productImage.offset().top, // Устанавливаем верхнюю позицию клонированного изображения
                    left: productImage.offset().left // Устанавливаем левую позицию клонированного изображения
                })
                .appendTo("body") // Добавляем клонированное изображение внутрь элемента body страницы
                .animate({
                    opacity: 0.05, // Задаем конечную прозрачность для анимации
                    left: $("#cart-punkt").offset().left, // Устанавливаем конечную левую позицию для анимации
                    top: $("#cart-punkt").offset().top, // Устанавливаем конечную верхнюю позицию для анимации
                    width: 20 // Устанавливаем конечную ширину для анимации
                }, 1000, function() {
                    // По завершении анимации...
                    
                    $(this).remove(); // Удаляем клонированное изображение
                });
        });
    });



    Ответ написан
    Комментировать
  • Почему исчезают элементы при hover?

    Raxen
    @Raxen
    TechLead Frontend Developer, Beeline
    В общем у вас там какие-то приколы с высотой этих карточек и судя по всему следующий элемент, после наведенного помещается в том же ряду под предыдущим, поэтому карточки смещаются, а не исчезают

    Вот это подвинет ваши элементы и сделает съезжаемыми те что пониже. Как по мне, так там всю сетку нужно переделывать

    .mmm:hover {
          box-shadow: 0 0 8px rgba(0,0,0,0.2);
          height: 425px !important;
      }


    А вот такой вариант может и сработать

    .mmm {
        height: auto !important;
    }
    
    .mmm:hover {
        box-shadow: 0 0 8px rgba(0,0,0,0.2);
        height: auto !important;
    }


    И не злоупотребляйте с импортантами и медиазапросами, пожалуйста, у вас там специфичность css зашкаливает
    Ответ написан
    Комментировать
  • Как называется такой сервис для сайта?

    @granty
    Любите лазить по интернету, залогиненным в аккаунты соцсетей?

    Это называется Clickjacking. Сайт проверяет, что вы залогинены в соцсети, и может, например, узнать адрес вашей страницы в VK и емайл.

    Уязвимости выше закрыли под давлением общественности, но постоянно находят новые. И я вполне допускаю слив базы vk.com, тогда будет доступен и номер телефона.

    PS: если вы авторизуетесь на сайте через аккаунты в соцсети - они вообще штатно получают инфу о вас безо всяких кликджакингов.
    Ответ написан
    Комментировать
  • Как убрать автоматическое появление клавиатуры при открытии формы?

    @skuvaWeb
    В Документации есть autoFocus, по умлочанию он включен. Возможно можно инлайново отключить, что-то вроде data-autofocus="false" на модальном окне
    Ответ написан
    Комментировать
  • Как сверстать овал?

    yaleksandr89
    @yaleksandr89
    PHP developer
    Как вариант, сделать div, шириной в два раза больше высоты :) и border-radius 50%
    <style>
            div {
                width: 600px;
                height: 300px;
                border-radius: 50%;
                background: #d6d6d6;
            }
        </style>

    <div></div>
    5d8497318cf23237931886.png
    Ответ написан
    Комментировать
  • Как сверстать овал?

    Stimulate
    @Stimulate
    могу
    Ответ написан
    Комментировать
  • Как сверстать такие блоки?

    @Dizzy221
    PHP Программист
    Ответ написан
    Комментировать
  • Как сверстать такой блок?

    LenovoId
    @LenovoId
    svg, css,js
    Самое просто это открыть векторный редактор и нарисовать : https://codepen.io/topicstarter/pen/qBWxdGg
    Ответ написан
    2 комментария
  • Почему не корректно работает Плавная прокрутка страницы (якорь на jquery)?

    lamer350
    @lamer350
    กำลังสูงสุด
    Конечно, у вас же сверху фиксированное меню. Вам необходимо в скрипте плавной прокрутки, в формуле вычисления положения блока к которому необходимо прокрутить, отнять высоту плавающего меню.
    Ответ написан
    Комментировать
  • Как выровнять div блок по центру?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    h1 находится по центру. Относительно всего экрана, конечно.
    Как и блоки внутри.
    У вас очень странная структура, но что бы сделать так как вы хотите вот код:
    .site-main {
        margin-left: 57px;
    }

    Но возникнет проблема в мобильной версии, для этого в media-запросах пропишите margin-left: 0; для тех разрешений, где левый каталог перемещается на верх.
    Ответ написан
    Комментировать
  • Почему не работает CSS свойство background?

    Morpheus_God
    @Morpheus_God
    Если я правильно вас понял, то вам нужны паддинги что бы получить отступы от края блока.
    Вот что получается.
    5ce6f7eb91c7a840434595.png
    Ответ написан
    1 комментарий
  • Как выровнять блоки по центру?

    TommyV888
    @TommyV888
    -
    У вас в шапке таблицы, все элементы стоят по центру, а в теле таблице прижаты к левому краю, либо сделайте text-align: left для th или text-align: center для td
    Ответ написан
    8 комментариев
  • Почему искажается написанный код при его сохранении в WordPress?

    Kozack
    @Kozack Куратор тега WordPress
    Thinking about a11y
    Это стандартное поведение в текстовом редакторе ВП.

    Одиночный перенос строки заменяется на <br> а двойной на <p>. Другими сломами следующий текст

    Привет
    мир!
    
    Как твои дела?


    При выводе (через хук the_content), будет приведён к такому

    <p>Привет<br>мир!</p><p>Как твои дела?</p>

    Кроме того, если у вас не полные права, будут применяться и другие фильтры.

    Вставляйте ваш html в специальный блок https://gogutenberg.com/blocks/custom-html/
    Ответ написан
    Комментировать