За последние 24 часа нас посетили 20289 программистов и 1082 робота. Сейчас ищут 698 программистов ...

Нужно ли блокировать контент в виде страница.html, которая открывается за пределами основной страниц

Тема в разделе "PHP для новичков", создана пользователем Vaska, 6 май 2022.

  1. Vaska

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

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Приветствую!
    Делаю сайт по MVC, на котором используется шаблоны, которые состоят из контента и выводятся как страницы в основной странице сайта.
    Основная страница оформлена как полноценная веб-страница и имеет теги <html>, <title>, <meta>, <body> и т.д..
    Внутри этой страницы инклудом или Ajax'ом тянутся и выводятся другие страницы: страница с меню, страница футера, и другие страницы, которые выводятся как блоки на основной странице.
    Каждую такую страничку можно открыть за пределами основной страницы, без всех тегов <html>, <title>, <meta>, <body> и т.д. и поэтому я хочу спросить: нужно ли блокировать вывод таких недостраниц отдельно? Если нужно, то каким способом?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    не должно такого быть
     
  3. Vaska

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

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Есть контроллер и для него есть view с шаблономи страниц, для этого контроллера.
    Можно не создавать файл с шаблоном.html, а просто в контроллере написать эту страницу и она будет выводиться.
    Например, пишу в контроллере страничку:
    Код (Text):
    1.     public function qrcode_goods() {
    2.         echo '<div class="">
    3.                 <p>Куриный код для товара</p>
    4.              </div>';
    5.     }
    После этого, готова страница https://mysite.ru/qrcode_goods.html
    И эта страница открывается и внутри основной страницы и самостоятельно.
    Применяется фреймворк ThinkPHP6, похож на Laravel.
    На Laravel вот тоже можно открыть такую страничку самостоятельно или нет?
    Если нет, то как в Laravel это организовано?
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    не знаю как там.. но думаю тоже адекватно настроить можно

    имхо все дело в роутах
    и нужно смотреть и понимать - как собирается страница во вьюхах... шаблонизатор какой-то?
     
  5. Vaska

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

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Встроенный в фреймворк.
    Во всяком случае, я отдельно шаблонизатор не ставил.
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Шаблоны убираются из корня или на крайняк к ним блокируется прямой доступ. В корне оставляете только статик обвес и в крайнем случае фронт.
     
  7. Vaska

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

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    route.php выглядит так:
    PHP:
    1. // +----------------------------------------------------------------------
    2. // | Настройки маршрутизации
    3. // +----------------------------------------------------------------------
    4.  
    5. return [
    6.     // pathinfo Сепаратист
    7.     'pathinfo_depr'         => '/',
    8.     // URL -псевдо -статический суффикс
    9.     'url_html_suffix'       => 'html',
    10.     // URL -обычные параметры метода используются для автоматического генерации
    11.     'url_common_param'      => true,
    12.     // Открыть ли анализ задержки маршрутизации
    13.     'url_lazy_route'        => false,
    14.     // использовать ли маршрутизацию
    15.     'url_route_must'        => false,
    16.     //  слияние правил маршрутизации
    17.     'route_rule_merge'      => false,
    18.     // полностью ли соответствует маршрутизации
    19.     'route_complete_match'  => false,
    20.     // посетите имя слоя контроллера
    21.     'controller_layer'      => 'controller',
    22.     // Имя воздушного контроллера
    23.     'empty_controller'      => 'Error',
    24.     //  использовать суффикс контроллера
    25.     'controller_suffix'     => false,
    26.     // правила переменной маршрутизации по умолчанию
    27.     'default_route_pattern' => '[\w\.]+',
    28.     // Должно ли включить кэш запроса true поддержка автоматического кэширования, чтобы установить правило кэша запроса
    29.     'request_cache'         => false,
    30.     // Запрос с периодом достоверности кэширования
    31.     'request_cache_expire'  => null,
    32.     // Глобальные правила исключения кэша запросов
    33.     'request_cache_except'  => [],
    34.     // Имя контроллера по умолчанию
    35.     'default_controller'    => 'Index',
    36.     // Имя операции по умолчанию
    37.     'default_action'        => 'index',
    38.     // Суффикс метода работы
    39.     'action_suffix'         => '',
    40.     // метод обработки, возвращаемый форматом JSONP по умолчанию
    41.     'default_jsonp_handler' => 'jsonpReturn',
    42.     //  метод обработки JSONP по умолчанию
    43.     'var_jsonp_handler'     => 'callback',
    44. ];
    Перевод комментариев с китайского, машинный.
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    На Ларке - указываешь в роуте например:
    PHP:
    1. Route::get('about', [PageController::class, 'index'])
    в контролере PageController в методе index например
    PHP:
    1. return view('about', [тут можно передать переменные]);
    а во вьюхе about.blade.php пишем наш контент, но блейд поддерживает слои, наследования и прочее .. потому можно указать как вьюху - родителя, куда будет данный контент вставляться, секции и прочее полезности

    самостоятельно вязть и открыть саму вьюху - например site/...about.blade.php нельзя, так как шаблоны вообще за корнем сайта находятся
    --- Добавлено ---
    посмотрите просто документацию к своему фреймфорку ... как правильно все делать
     
    Vaska нравится это.
  9. Vaska

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

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Именно так и сделано.
    Не я делал, опенсорс.
    Шаблоны и контроллеры находятся выше корня.
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Как тогда открываются шаблоны напрямую? Фреймворк делает то, что его не просили? :) Может, он роутинг делает по наличию файлов – это какая-то отсталость. Похоже на движки «на файлах».
     
  11. Vaska

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

    С нами с:
    7 ноя 2019
    Сообщения:
    43
    Симпатии:
    3
    Вот эту запись в какой конкретно файл вносите?
    Директория файла какая и название файла?
     
  12. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    Посмотрите Доку по ларвелю.. Всё описано в разделе маршруты( route)