За последние 24 часа нас посетили 22488 программистов и 1007 роботов. Сейчас ищут 662 программиста ...

Как защитит свой самописный движок с помощью htaccess

Тема в разделе "PHP для новичков", создана пользователем primitiv, 16 мар 2021.

Метки:
  1. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Приветствую всех, я новичок и прошу помощи в разъяснении очень важного вопроса, я закончил работу над сайтом, написал cms c нуля, всё работает замечательно, так же я уверен что написал его капец как криво, и из за этого и думаю поставить дополнительный барьер, а именно хочу понят какие меры защиты можно принять с помощью файла htaccess, буду благодарен за стоящие ссылки и простые ответы
     
    #1 primitiv, 16 мар 2021
    Последнее редактирование: 16 мар 2021
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Как вы себе это представляете?
    Потенциальную опасность несут любые данные получаемые извне - содержимое глобальных массивов.
    Тут всё - и текст, и адресная строка, и файлы куки, даже юзер-агент и имена загружаемых файлов с расширением.
    Точнее то, как вы их используете.
    Если в запросах к базе данных, это одно.
    Если для считывания локальных папок и файлов - другое.
    Для вывода на страницу третье. И т.д.
    Если в процессе написания своей cms вы не озаботились правильной обработкой этих данных, в зависимости от применения, то работа у вас только началась.
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    В каком смысле защитить?

    P.S. Новичок не в состоянии написать вменяемый код, в том числе и в плане защиты. Развивайтесь и совершенствуйте свой код. А про .htaccess забудьте (почти) ;)
    --- Добавлено ---
    Это тоже? :eek:
    PHP:
    1. $sth = $pdo->prepare("SELECT * FROM ':tabl' WHERE ':title'");
    Источник: https://php.ru/forum/posts/639472/
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    наверное чувак хочет дополнительно запаролить доступ к папке/ файлу админки, что типа такого
    Код (Text):
    1. <Files admin.php>
    2. AuthName "enter password"
    3. AuthType Basic
    4. AuthUserFile /home/yousite.ru/.htpasswd
    5. require valid-user
    6. </Files>                      
    ну и найди в интернете сам - как сгенерить этот файл .htpasswd
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    Барьер от чего? Какие возможности у движка? К примеру, если пользователи могут загружать что-то на сайт, есть смысл запретить запуск php из этих папок, если не стоит дополнительная проверка при загрузке, что пришло именно то, что ожидалось, по формату. Фактически, даже не знаю, что ещё можно через этот файл.
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    а смысл допускать файлы на загрузку с подобным расширением ? Белый список с допуском для начала
     
  7. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    ну можно и как jpg php файл загрузить
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    @ADSoft, если запретить выполнение в папке, он по-любому не запустится.
    --- Добавлено ---
    P.S. Если фронт вне корня, можно во всем корне запретить выполнение.
    --- Добавлено ---
    Это все костыли для тех, кто юзает дырявый софт. Нафига ему это, если он сам типа разраб? :)
     
  9. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Вот про всё это я бы с интересом прочитал бы, посоветуйте какую нибудь книгу или ресурс, я был бы благодарен, касаемо моего сайта, это магазин, конструкция из 5 php скриптов, пользователь ни чего не загружает, если только данные формы, почти везде использовал pdo и подготовленные запросы, только в одном месте закосячил и пришлось использовать mysqli (спасибо вам Drunkenmunky, реально помогли) но и там я намерен использовать регулярку для проверки соответствия данных в переменной (сейчас изучаю), мне всего лишь нужно понять на что способен htaccess, в настройках серверов не силён, собственно говоря я php месяца два как начал интенсивно изучать
     
  10. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    primitiv нравится это.
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    Миф - запустить jpg изображение как php скрипт. Это невозможно будет.
    PHP:
    1. pathinfo ( $filename, PATHINFO_EXTENSION )
     
  12. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    не считал, сколько у тебя времени уходит на сон и расстановку БЕСПЛАТНЫХ пробелов в коде? :)
     
    _ne_scaju_ нравится это.
  13. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Как это сделать?

    А вот это я не понял, вы имеете ввиду какой то контролирующий php скрипт?, типа чтобы с его одобрения запускались другие скрипты?
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    аргументируй
     
  15. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    что аргументировать? твои понты типа хер Вы запустите мой код обычным копипастом? детский сад :)

    я представил твое довольное лицо, когда ты добавляешь пробел, поробуй по буквам бить код пробелами, так круче
     
  16. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    чего ?? o_O Вангу с собой возьми, может она лучше тебя сможет аргументировать. Ты че бухой ? код пробелами... лол
     
  17. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Место этой бессмыслицы что вы пишите, лучше наставьте меня на путь истинный, не тратте просто так свою энергию господа джедаи
     
  18. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Чтобы наставлять, нужно понимать, что у тебя не так ;) Но т.к. тебе это не интересно, каждый резвится в силу своих способностей :)
     
  19. primitiv

    primitiv Активный пользователь

    С нами с:
    22 ноя 2018
    Сообщения:
    40
    Симпатии:
    0
    Ещё как интересно, вы так и не дали ответ на вопрос - на что способен htaccess, в интернете статьей хватает, но интересно от вас программистов услышать что реально важно, может вдруг кто ссылку какуюнит толковую скинет
     
  20. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    Тут большинство уже апачем не пользуются, так что не пользуют и htaccess. Мы иногда ставим апач, и у меня в htaccess просто рерайт для фреймворка )
     
  21. boss1

    boss1 Новичок

    С нами с:
    18 фев 2021
    Сообщения:
    70
    Симпатии:
    0
    Расширение у файла изменить и все . Вместо картинки пхп скриптик
     
  22. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    f76421690580af7563a7c32d3e8d07b4.jpg
     
  23. boss1

    boss1 Новичок

    С нами с:
    18 фев 2021
    Сообщения:
    70
    Симпатии:
    0
    Это не гениально. Можно еще открыть код картинки в блокнотике и туда вставить пхп скриптик . Вот тогда сложнее отличить картинку от скрипта
     
  24. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    Для одаренных повторюсь - запустить загруженный img.jpg как php невозможно, а расширение php никаким макаром не загрузится на сервер, т.к. у нас белый лист.

    Иначе - бегом в песочницу и строчишь код. Пи3даболы.
    --- Добавлено ---
    o_O
    Никакие. Дырявый сайт никак не спасет. Он дефолтом служит для единой точки и т.д.

    PHP:
    1. AddDefaultCharset UTF-8
    2.  
    3. DirectoryIndex index.php
    4.  
    5. RewriteEngine On
    6.  
    7. # Redirect Trailing Slashes If Not A Folder...
    8. RewriteCond %{REQUEST_FILENAME} !-d
    9. RewriteRule ^(.*)/$ /$1 [L,R=301]
    10.  
    11. # Handle Front Controller...
    12. RewriteCond %{REQUEST_FILENAME} !-d
    13. RewriteCond %{REQUEST_FILENAME} !-f
    14. RewriteRule ^ index.php [L]
     
    primitiv нравится это.
  25. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    Если НЕ папка, то режем слеш в конце, а если папка, то пусть торчит наружу да ещё и со слешем? Какой смысл такого обрезания?