За последние 24 часа нас посетили 22758 программистов и 1256 роботов. Сейчас ищут 709 программистов ...

Как правильно сделать вывод страницы "технические работы"?

Тема в разделе "PHP для новичков", создана пользователем eldor, 8 янв 2016.

  1. eldor

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

    С нами с:
    3 май 2013
    Сообщения:
    202
    Симпатии:
    20
    Re: Как правильно сделать вывод страницы "технические работы

    В данном уроке правильно показана единая точка входа? Или еще есть какие-то нюансы?
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Re: Как правильно сделать вывод страницы "технические работы

    а не надо смотреть видеоуроки... надо литературу читать и самому придумывать.
     
  3. eldor

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

    С нами с:
    3 май 2013
    Сообщения:
    202
    Симпатии:
    20
    Re: Как правильно сделать вывод страницы "технические работы

    Какую литературу подскажете по данной тематике?
     
  4. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Re: Как правильно сделать вывод страницы "технические работы

    ну вообще - мануал. но я понимаю, что на первых парах человеку может быть сложно придумать как именно склепать из тех частей, которые в мануале написаны, что-то, что назовется программой. лет десять назад я прочитал вот такую книгу - http://www.ozon.ru/context/detail/id/4538872/ - в ней емнип на примере всяких выдуманных блогов и книжных магазинов как раз и дается представление о том как "это" работает. если ты после этого не сможешь создать что-то своё то у тебя проблемы со смекалкой и алгоритмизацией и/или программирование вовсе не твоё занятие.

    Добавлено спустя 1 минуту 59 секунд:
    Re: Как правильно сделать вывод страницы "технические работы"?
    естественно лучше пойти в книжный магазин и на полках посмотреть живые книги, убедится что они по пхп 5.5 и моложе чтоб не было непонятных проблем при повторении программ.
     
  5. eldor

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

    С нами с:
    3 май 2013
    Сообщения:
    202
    Симпатии:
    20
    Решил пойти пока путем для меня более понятным - с помощью заглушки в .htaccess. Но тут тоже столкнулся с проблемой при составлении страницы-заглушки. При включении заглушки с помощью .htaccess и переброса на страницу-заглушку к данной странице не могу подключить картинки и css. Я понимаю, что доступ становится ограничен из-за включения заглушки в .htaccess. Как тогда быть в данной ситуации?
    Вот код заглушки в .htaccess.
    Код (PHP):
    1. # Модуль включения технических работ на сайте с помощью файла.
    2. <IfModule mod_rewrite.c>
    3. RewriteEngine On
    4. ErrorDocument 503 /technical_work.php
    5. #RewriteCond %{REQUEST_URI} !/technical_work\.php
    6. RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1
    7. RewriteRule ^ /technical_work.php [R=503,L]
    8. </IfModule>
     
  6. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Re: Как правильно сделать вывод страницы "технические работы

    пропускать запросы к выбранным картинкам и файлам стилей. это же очевидно.
     
  7. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    eldor как советуют выше смотри в сторону
    Код (PHP):
    1. # if a directory or a file exists, use it directly
    2. RewriteCond %{REQUEST_FILENAME} !-f
    3. RewriteCond %{REQUEST_FILENAME} !-d
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    eldor, если даже писать прямо в самом файле?
    Код (PHP):
    1. <style>
    2.     body{
    3.         color: red;
    4.     }
    5. </style> 
     
  9. eldor

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

    С нами с:
    3 май 2013
    Сообщения:
    202
    Симпатии:
    20
    Благодарю - разобрался.
     
  10. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    а полный набор правил покажешь?
     
  11. eldor

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

    С нами с:
    3 май 2013
    Сообщения:
    202
    Симпатии:
    20
    Да, конечно)))
    Код (PHP):
    1. # Модуль включения технических работ на сайте с помощью файла.
    2. <IfModule mod_rewrite.c>
    3. RewriteEngine On
    4. ErrorDocument 503 /technical_work.php
    5. RewriteCond %{REQUEST_URI} !/technical_work\.php
    6. # ip-адрес, с которого разрешено заходить на сайт.
    7. RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1
    8. # Открывает доступ к папке с css файлами.
    9. RewriteCond %{REQUEST_FILENAME} !/css
    10. # Открывает доступ к папке с картинками.
    11. RewriteCond %{REQUEST_FILENAME} !/img
    12. RewriteRule ^ /technical_work.php [R=503,L]
    13. </IfModule>
     
  12. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Re: Как правильно сделать вывод страницы "технические работы

    стоит быть внимательным к последовательностям !/css и !/img - под это (допустим первое рассмотрим) правило попадает не только /css но и /aaa/css/ и /bbb/css-ochka
    то есть если мы хотим именно относительно корня сайта отталкиваться и смотреть именно каталог с именем css то нужно добавить символ каретки в начало и слэш в конец тестируемой строки - !^/css/

    ну а если (чисто допустим вдруг) что у хостера ваша учетка называется imguboodore и путь к корню сайта выглядит как /home/imguboodore/domains/example.com/ то под это правила попадут вообще все ресурсы потому что /img входит в REQUEST_FILENAME
    например URI /index.php будет разрешен в /home/imguboodore/domains/example.com/index.php, попадет под совпадение и вызовет неожиданное поведение правила.
    то есть REQUEST_FILENAME наверное лучше заменить на REQUEST_URI.
     
  13. eldor

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

    С нами с:
    3 май 2013
    Сообщения:
    202
    Симпатии:
    20
    Заменил - благодарю за пояснения.
    Код (PHP):
    1. # Модуль включения технических работ на сайте с помощью файла.
    2. <IfModule mod_rewrite.c>
    3. RewriteEngine On
    4. ErrorDocument 503 /technical_work.php
    5. RewriteCond %{REQUEST_URI} !/technical_work\.php
    6. # ip-адрес, с которого разрешено заходить на сайт.
    7. #RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1
    8. # Открывает доступ к папке с css файлами.
    9. RewriteCond %{REQUEST_URI}  !^/css/
    10. # Открывает доступ к папке с картинками.
    11. RewriteCond %{REQUEST_URI} !^/img/
    12. RewriteRule ^ /technical_work.php [R=503,L]
    13. </IfModule>
     
  14. assik

    assik Новичок

    С нами с:
    12 янв 2016
    Сообщения:
    1
    Симпатии:
    0
    Re: Как правильно сделать вывод страницы "технические работы

    Ну как тут уже заметили, вроде правил и нет строгих на этот счет, но бытует такое себе негласное мнение, что это снижает таки безопасность в определенной степени, по сравнению с вариантами, когда админка сайта по продаже дедиков dedicatesales.com "зарыта" где то поглубже....
     
  15. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Re: Как правильно сделать вывод страницы "технические работы

    все php файлы и конфиги выносим выше document root, а в ней оставляем только точку входа index.php и .htaccess если нужно,
    посмотри организацию папок у yii2 и symfony3
     
  16. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Re: Как правильно сделать вывод страницы "технические работы

    к сожалению, не универсальный совет. всё от хостинга зависит. где-то дают /home/user/domains/example.com и есть куда копать "выше" а есть кто сваливает в /var/www/example.com и тебе вышестоящая иерархия недоступна для записи (а по-хорошему - и для чтения). так что корректнее - сваливать всё в какой-то подкаталог, которому потом через конфиг запрещать доступ. опять же, если не пользуешься массхостингом то вопрос снят - ты сам себе царь и бог.