Перейти к содержанию

Рекомендуемые сообщения

Доброго дня форумчане.

Поиском поискал, не нашел такой темы. Так, что если такая есть-я не ленился

Я тут погуглил...понадергал так сказать всего и вся в хтаксес.
 Прошу мнения имеет ли право на жизнь такой хтаксес. У меня open Cart 2.2

Options +FollowSymlinks

#Запрещаем загрузку файлов с внешних сайтов
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?мой сайт.ru/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://мой сайт.ru/image/data/oops.jpg[nc]

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>


RewriteEngine On

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^yandexmarket.xml$ index.php?route=feed/yandex_market [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

#Блокируем все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Блокируем все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Блокируем все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Перенаправляем все подобные на страницу с ошибкой 403 — запрещено
RewriteRule ^(.*)$ index.php [F,L]

# Редиректы


RewriteCond %{HTTP_HOST} ^www.мой сайт\.ru$ [NC]
RewriteRule ^(.*)$ http://мой сайт.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]


#Блокируем плохих ботов и роботов
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
<limit get="" post="" head="">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>


#Защита от хотлинка
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?мой сайт\.ru/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Замените /images/nohotlink.jpg на изображение с запрещением хотлинка
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/data/oops.jpg [L]

# Запретить другим сайтам использовать прямые ссылки на ваши картинки
RewriteCond %{HTTP_REFERER} !^$
# Дальше список разрешенных доменов
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт1.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт1ru:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт12.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yсайт2.ru:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт3.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт3.ru:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт4.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт4.ru:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт5.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?сайт5:80.*$ [NC]
# IP сайта (домена)
RewriteCond %{HTTP_REFERER} !^http(s)?://Здесь не знаю, что писать, поэтому если можно, то удалить111.111.111.111.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://111.111.111.111:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google. [NC]
# RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?домен_дружественного сайта.ru [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
# Форматы файлов, для которых устанавливается защита
# Выводит ошибку 403
# RewriteRule \.(jpe?g|bmp|gif|png|css|mov|swf|dcr|exe|rar|avi|vob|zip|pdf|txt|doc|flv|mp3|mp4)$ — [NC,F,L]
# или показывает спецрисунок вместо указанного
RewriteRule .*\.(jpe?g|bmp|gif|png)$ image/data/oops.jpg [NC,L]



# Конфигурируем сайт для видео HTML5

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/cart.png
AddType video/ogg .ogv
AddType video/ogg .ogg
AddType video/mp4 .mp4
AddType video/webm .webm
AddType application/x-shockwave-flash swf


#Устанавливаем e-mail адрес по-умолчанию для администратора сервера
ServerSignature EMail
SetEnv SERVER_ADMIN моя почта@mail.ru


# отключаем вывод ошибок пользователям
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# заносим ошибки в журнал
php_flag log_errors on
php_value error_log /system/to/php_error.log

 

Изменено пользователем DYATEL

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые спецы, дайте кто-нибудь мнение плиз

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Главное правило - все редиректы до блока с

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

И зачем вам дважды RewriteEngine On (вопрос риторический)?

 

А второе правило: не использовать почту mail.ru.

 

И вообще понатыкано всё бездумно: что-то дублируется, что-то реализовано не самым удачным образом, что-то вообще не нужно.

 

Какие у вас есть реальные задачи для сервера?

 

7 часов назад, DYATEL сказал:

Поиском поискал, не нашел такой темы.

И не удивительно, ведь вы искали то, чего не существует. А если правильно название указать, то тем куча:

https://opencartforum.com/search/?q=htaccess&type=forums_topic&sortby=newest

 

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

 

Так так-то хотелось бы все реализовать в хтаксесе, т.е.:

#Запрещаем загрузку файлов с внешних сайтов

редиректы

#Блокируем все ссылки, содержащие <script>

#Блокируем плохих ботов и роботов

#Защита от хотлинка

# Запретить другим сайтам использовать прямые ссылки на ваши картинки

 

Остальное вроде не столь важно

 

Но........ Если все это не нужно, то тогда если можно, киньте рабочий вариант.

Спасибо

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, DYATEL сказал:

#Запрещаем загрузку файлов с внешних сайтов

 

4 часа назад, DYATEL сказал:

#Защита от хотлинка

 

4 часа назад, DYATEL сказал:

# Запретить другим сайтам использовать прямые ссылки на ваши картинки

 

Вот это всё - одно и то же!

Хотлинкинг - это вставка изображений с вашего сайта на других сайтах.

 

Если вам нужна просто защита от хотлинкинга, то зачем полотнище разрешённых хостов?

 

 

 

4 часа назад, DYATEL сказал:

#Блокируем все ссылки, содержащие <script>

В ОК нет с этим проблем: все данные запросов обрабатываются через htmlspecialchars.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понял. Спасибо за помощь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще вопросик, так сказать для самообразования.

Окончания строк в хтаксесе, такие как:

 

[NC]

[NC,OR]

[L]

[L,QSA]

[R=301,L]

что значат? или есть где прочесть про это?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ПО приведенной выше ссылке не нашел ответ, но поняв в какую сторону копать нарыл следующее: (вдруг кому надо будет)

(Взято с какого-то сайта)

.......это флаги правил. Флаги - дополнительные опции для данного правила, которые перечисляются в квадратных скобках через запятую.

* R (redirect) останавливает процесс преобразования и возвращает результат браузеру клиента как редирект на данную страницу (302, MOVED TEMPORARY). С данным флагом можно указать другой код результата, например "R=301" возвратит редирект с кодом 301 (MOVED PERMANENTLY). 
* F (forbidden) возвращает ошибку 403 (FORBIDDEN). 
* G (gone) возвращает ошибку 410 (GONE). 
* P (proxy) - по этому флагу Apache выполняет подзапрос (sub-request) к указанной странице с использованием программного модуля mod_proxy, при этом пользователь ничего не узнает об этом подзапросе. Если модуль mod_proxy не входит в состав вашей сборки Apache, то применение данного флага вызовет ошибку. 
* L (last) останавливает процесс преобразования, и текущая ссылка считается окончательной. 
* N (next) запускает процесс преобразования с первого по порядку правила. 
* C (chain) объединяет несколько правил в цепочку. Если первое правило цепочки «не срабатывает», то вся цепочка игнорируется. 
* NS (nosubreq) разрешает «срабатывание» правила только для настоящих запросов, игнорируя подзапросы (подзапрос может быть вызван, например, включением файла при помощи директивы SSI). 
* NC (nocase) отключает проверку регистра символов. 
* QSA (qsappend) добавляет исходные параметры запроса (query string) к замене. Если замена не включает в себя новые параметры запроса, то исходные параметры запроса добавляются автоматически. Если же включает, то без флага QSA исходные параметры запроса будут утеряны. 
* PT (passthrough) останавливает процесс преобразования и передает полученную новую ссылку дальше «по цепочке», чтобы над ней могли «поработать» директивы Alias, ScriptAlias, Redirect и им подобные (тогда как при флаге L новая ссылка считается окончательной и не подлежит дальнейшей обработке). 
* S (skip) пропускает следующее правило, если данное правило «сработало». Можно пропускать несколько правил, если указать их количество, например: «S=3». 
* E (env) устанавливает переменную окружения, например: «E=переменная:значение».

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.