Allow url include htaccess — Мир ПК

10+ вставок кода для htaccess

Файл .htaccess — один из тех файлов, которые должен быть известен и понятен каждому администратору веб сайта. На базовом уровне он управляет доступом к папкам сайта. Но есть еще много задач, которые htaccess может решить для вас.

1. Управление доступом к файлам и каталогам

Защита паролем — это один аспект вопроса, но иногда нужно полностью блокировать пользователю возможность доступа к определённым файлам или каталогам. Такие задачи обычно возникают для системных папок, например, includes . Приложение должно иметь доступ к ним, а пользователь лишается всех привилегий.

Для решения задачи добавьте следующий код в файл .htaccess и сохраните его в нужном каталоге:

Но такой ход блокирует доступ для всех, включая вас. Чтобы обеспечить себе доступ нужно указать IP свой адрес. Вот код:

xxx.xxx.xxx.xxx — ваш IP адрес. Если заменить последние три цифры на 0/12 , например, то будет указан диапазон IP адресов в одной сети. Но такой подход может привести к проблемам, поэтому лучше указывать список IP адресов раздельно.

Если нужно блокировать определенный файл, включая сам .htaccess , используйте следующий код:

Аналогично, если вам требуется открыть доступ с определенных IP адресов, перечислите их с помощью allow from .

Если нужно блокировать доступ к определённым типам файлов, используйте следующий код:

2. Запрещаем просмотр директории

Для запрещения просмотра содержимого директории используйте следующий код:

Но если вам нужно по каким-то причинам разрешить просмотр директории, используйте следующий код:

3. Ускоряем загрузку с помощью сжатия файлов

Вы можете сжимать любые файлы, а не только изображения. Например, для сжатия HTML файлов используйте следующий код:

А для сжатия текстовых:

Можно также сжимать JavaScript файлы или определять несколько типов файлов для архивации:

В качестве альтернативы можно сжимать все HTML, JavaScript, CSS и прочие файлы с помощью GZIP:

4. Защищаем сайт от хотлинкинга

Если вы хотите предотвратить хотлинкинг изображений с вашего сайта, добавьте следующие строки в файл .htaccess :

Просто замените вашдомен.ru на название своего домена.

5. Блокирование пользователей перенаправленных с определенного домена

Если вы не приветствуете пользователей определенного домена, то можно забанить на своем сайте. Например, если ваш сайт попал в список там, откуда не желателен трафик (например, порнографические сайты, неонацисткие ресурсы и прочее), то вы можете перекрыть его с помощью страницы 403 (запрет доступа). Нужно, чтобы был включен mod_rewrite (обычно он включен). Добавляем код:

Нужно заменить bannedurl1.com и bannedurl2.com на имена доменов из вашего черного списка. Флаг [NC] указывает на отсутствие чувствительности к регистру в имени домена, а флаг [F] определяет действие — в нашем примере вывод страницы 403. Если нужно забанить несколько сайтов, используйте флаг [NC,OR] для каждого домена, включая последний. Для запрета только одного домена можно использовать только флаг [NC] .

6. Блокирование запросов от определенных агентов

Если в вашем журнале имеются записи о действиях определенных агентов пользователей (роботов или пауков), которые вам не нравятся, то можно добавить несколько строк в файл .htaccess и запретить таким агентам доступ к вашему сайту:

Замените badbot1 , badbot1 и так далее именами агентов из вашего журнала. Такое действие будет держать данные программы подальше от вашего сайта.

7. Кеширование файлов

Другой метод ускорения загрузки вашего сайта — кеширование файлов. вот что нужно добавить в файл .htaccess для включения кеширования:

Вы можете добавить типы файлов (или удалить некоторые из них) к списку в примере. Также можно использовать max-age для указания времени в секундах, для хранения ваших файлов в кеше.

8. Отключение кеширования для определенных типов файлов

Если вам не нужно кешировать определенные типы файлов, то можно просто не включать их в список. Однако, иногда файлы могут кешироваться даже если вы не объявили их в списке. В таких случаях можно отключить кеширование только для таких типов файлов. В большинстве случаев требуется отключать кеширование для динамических файлов, таких как скрипты. Вот код:

Читать еще:  Exception access violation 0xc0000005 java

Просто добавьте типы фалов, которые не нужно кешировать в список.

9. Пропускаем диалог загрузки

По умолчанию, когда вы загружаете файл с веб сервера, то появляется диалог, в котором запрашивается действие с файлом (сохранить или открыть). Данный диалог очень раздражает при загрузке больших медиа файлов или документов PDF. Если файлы загружены на ваш сервер для того, чтобы пользователь их скачал, то можно сразу начать процесс. Нужно поместить в файл .htaccess следующие строки:

10. Переименование файла .htaccess

По некоторым причинам, обычно связанным с безопасностью, может потребоваться переименование файла .htaccess . Что очень просто сделать. Теоретически, переименование файла .htaccess не должно вызывать проблем с выполнением приложений на вашем сервере, но если они вдруг появятся, нужно просто восстановить оригинальное имя.

Также нужно обновить всех вхождения в самом файле и там, где упоминается .htaccess , иначе возникнет масса ошибок.

11. Изменение индексной страницы по умолчанию

Если вам требуется, чтобы индексная страница отличалась от значения по умолчанию, index.html , index.php , index.htm и так далее, то данная задача решается легко. Вот что нужно добавить в файл .htaccess :

Замените mypage.html на адрес URL нужной страницы.

12. Перенаправление на безопасное соединение https

Если вы используете https и хотите, чтобы все пользователи перенаправлялись на него, то вам поможет следующий код:

13. Ограничение размера файла загрузки в PHP, максимального размера запроса и максимального времени выполнения скрипта

.htaccess позволяет устанавливать некоторые значения, которые влияют на приложения PHP. Например, если вам требуется ограничить загрузку в PHP по причине экономии пространства на хостинге, используйте следующий код:

Конечно, вы можете установить значение, которое требуется, в нашем примере 15M (MB) не является фиксированным. Также можно ограничить максимальны размер запроса для загрузки в PHP:

Измените 10M на то значение, которое вам требуется.

Если вы не хотите, чтобы скрипт выполнялся вечно, то можно ограничить время его работы:

240 — количество секунд до прерывания работы скрипта.

Если требуется ограничить время для скрипта на разбор введенных данных, используйте следующую строку:

14. Маскировка типов файлов

Иногда нужно скрыть от пользователя типы файлов на сервере. Один из способов решить задачу — замаскировать их. Например, вы можете сделать так. что все файлы будут выглядеть как HTML или PHP:

Заключение

Существует еще множество задач, которые может решить .htaccess . Например, можно установить автоматический перевод страниц сайта, или временную зону, или удалить www из адреса URL, и многое другое. Но прежде чем начать эксперименты с .htaccess всегда нужно сделать резервную копию оригинала, чтобы была возможность вернуться к исходному коду.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://speckyboy.com/2013/01/08/useful-htaccess-snippets-and-hacks/
Перевел: Сергей Фастунов
Урок создан: 15 Января 2013
Просмотров: 50640
Правила перепечатки

5 последних уроков рубрики «Для сайта»

Эффекты блочного раскрытия

Сегодня мы хотели бы поделиться несколькими идеями касающегося эффекта блочного раскрытия, которую вы можете использовать для своих проектов.

15 полезных .htaccess сниппета для сайта на WordPress

Если вы хотите существенно повысить уровень безопасности вашего сайта на WordPress, то вам не избежать конфигурации файла .htaccess. Это позволит не только уберечься от целого ряда хакерских атак, но и организовать перенаправления, а также решить задачи связанные с кэшем.

20 бесплатных тем для WordPress в стиле Material Design

Material Design — это набирающий обороты тренд от Google. В данной подборке собраны бесплатные темы для WordPress, выполненные в этом популярном стиле.

20 сайтов с креативным MouseOver эффектом

Эффекты на то и существуют чтобы впечатлять наших посетителей. В этой подборке собрано несколько десятков ресурсов, чьи создатели очень постарались впечатлить своих посетителей.

Читать еще:  Как сделать главную форму в access

45+ бесплатных материалов для веб дизайнеров за август 2016

Под конец месяца предлагаем ознакомиться с набором бесплатных материалов для веб дизайнеров за прошедший месяц.

Allow Single URL Through .htaccess Password Protection

Learn Development at Frontend Masters

This code is useful for multi environment setups (staging, production, etc.) it allows you to keep your htaccess files in sync while maintaining an htpasswd on your development environment or anything but the live environment.

Need some front-end development training?

Frontend Masters is the best place to get it. They have courses on all the most important front-end technologies, from React to CSS, from Vue to D3, and beyond with Node.js and Full Stack.

Need some front-end development training?

Frontend Masters is the best place to get it. They have courses on all the most important front-end technologies, from React to CSS, from Vue to D3, and beyond with Node.js and Full Stack.

Comments

I found your .htaccess setup to be pretty good, but I found it more useful to allow from all then deny from staging.

Below is the reverse of what your have in this article.

Keep up the great work!

#— Staging Server Password ————————-#
SetEnvIf Host yourstagingserver.com passreq
AuthType Basic
AuthName «Staging Server»
AuthUserFile /home/username/.htpasswd
AuthGroupFile /home/username/.htgroup
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any

Thank you for the code above.

In addition, thank you Fugazer for the script above ! Worked like a charm.

Hi,
I am trying to do something similar, thought I’m not sure if it’s possible. I have an images directory on my server and I would like the images to be accessed only by one of my php pages, preventing hotlinking and direct access. For instance:

Directory:
http://www.mysite.com/images/
containing the files: 001.jpg / 002.jpg / etc

Any ideas of how should I configure my htaccess file?
PS: I don’t know if it’s important since you are using REQUEST_URI, but I have multiple domains on my server (ex. http://www.mysite.com and http://www.mysite.net)

Yep, thats exactly what I am searching for since sunday. hotlinking from one server only to only one single url.
@BRAULIO did you find a solution ??

May try if these suggestions works for you George

About midway through the page is a section about hotlinking images.

Seemed to help my site from getting hotlinked any further.

I am going through the book digging into wordpress and I copied and pasted the index.php file to the root and made the adjustments accordingly … I then checked the settings in the admin dash …

I forgot to include the .htaccess file though … I looked for it … and didnt find it in the core files … so I made one with http://www.coffeecup.com s .htaccess software … but when I went to refresh the page … I kept getting a log in prompt just to view the home page … or make changes in the dash … how do I include the .htaccess without having to “log in” everysingle time?

Many thanks for this article.

My idea was to restrict access to all pages in my website, except for those pages of which the URL starts with “/admin”. Therefore, I modified the above example to the following:

Now, pages with “/admin…” URL’s are working fine without password, and other pages require authentication first. However, after having entered the password, I get an internal server error (500).

Could anyone please help me out here? 🙂

Читать еще:  Ms access поддерживает следующие типы полей

Many thanks! Keep up the good work…

I went with Fugazer’s example but thanks for the article and help.

Really useful article thanks!
I’m IP filtering a site currently but I need to allow my RSS feeds to go through or rather not to be IPfiltered.
Is there a way I can create a rule in htaccess to filter all except feeds?

Just something worth mentioning. If you use the example above but then are also doing rewriting everything to an index.php which is the case with some php frameworks the above does not work. Im not sure exactly why but I thought it worth mentioning.

It does work with PHP frameworks that use .htaccess for URL rewrites. You just have to make sure this logic is above where you’re doing your rewriting for index.php.

For example, the following password protects a certain URL (/admin), but allows it work with out a password if it matches my local host name:

#allows a single uri through the .htaccess password protection
SetEnvIf Request_URI “/testing_uri$” test_uri

#allows everything if its on a certain host
SetEnvIf HOST “^testing.yoursite.com” testing_url
SetEnvIf HOST “^yoursite.com” live_url
Order Deny,Allow

AuthName “Restricted Area”
AuthType Basic
AuthUserFile /path/to/your/.htpasswd
AuthGroupFile /
Require valid-user

#Allow valid-user
Deny from all
Allow from env=test_uri
Allow from env=testing_url
Allow from env=live_url
Satisfy any

I’d like to protect a single page in my website (www.example.com/extranet/).

How can I use this snippet to fix this? Help would be very much appreciated.

I’m on Apache/2.4.27 (cPanel) by the way (not sure if that matters).

Helpful article, but on the version of Apache 2.4.x that my host uses (NearlyFreeSpeech), Allow is no longer a valid directive.

In case this is helpful for others: I set up a site with SSL using Let’s Encrypt, and later switched the entire site to being protected by htpasswd. This of course caused the tlssetup cron job required by Let’s Encrypt (which accesses a .well-known directory on your site) to fail.

The quick fix for me was to create a .htaccess file inside the .well-known directory that just includes the line Require all granted . Now the whole site is protected, just excluding this directory.

Leave a Reply Cancel reply

All comments are held for moderation. We’ll publish all comments that are on topic, not rude, and adhere to our Code of Conduct. You’ll even get little stars if you do an extra good job.

You may write comments in Markdown. This is the best way to post any code, inline like `

Want to tell us something privately, like pointing out a typo or stuff like that? Contact Us.

How do you stay up to date in this fast⁠-⁠moving industry?

A good start is to sign up for our weekly hand-written newsletter. We bring you the best articles and ideas from around the web, and what we think about them.

CSS-Tricks * is created, written by, and maintained by Chris Coyier and a team of swell people. The tech stack for this site is fairly boring. That’s a good thing! I’ve used WordPress since day one all the way up to v17, a decision I’m very happy with. I also leverage Jetpack for extra functionality and Local for local development.

* May or may not contain any actual «CSS» or «Tricks».

CodePen is a place to experiment, debug, and show off your HTML, CSS, and JavaScript creations.

CSS-Tricks is hosted by Flywheel, the best WordPress hosting in the business, with a local development tool to match.

ShopTalk is a podcast all about front-end web design and development.

Запись опубликована в рубрике Access. Добавьте в закладки постоянную ссылку.