Comments 82
По моему, никогда не надо делать так, что бы все ваши файлы отображались как PHP. Это очень плохо и небезопасно.
+1
15. Защита паролем.
Иногда нужно, чтобы доступ к некоторым ресурсам сайта был разрешён только определённым пользователям.
Запустив команду «htpasswd /home/pathto/.htpasswd user1» и введя 2 раза пароль, создастся файл .htpasswd примерно такого содержания:
user1:31/a7xzJFbFoo
user2:7JK9iJEedT8hA
В файл .htaccess добавляем следующие строки:
AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName «Secret Place»
require valid-user
Доступ теперь возможен только при введении правильного имени пользователя и пароля.
Иногда нужно, чтобы доступ к некоторым ресурсам сайта был разрешён только определённым пользователям.
Запустив команду «htpasswd /home/pathto/.htpasswd user1» и введя 2 раза пароль, создастся файл .htpasswd примерно такого содержания:
user1:31/a7xzJFbFoo
user2:7JK9iJEedT8hA
В файл .htaccess добавляем следующие строки:
AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName «Secret Place»
require valid-user
Доступ теперь возможен только при введении правильного имени пользователя и пароля.
+2
Вот прямо сейчас смотрю Яндекс. Кит 3
events.yandex.ru/events/kit/3/
Цитата от лектора: «Если вы еще используете апач, то прямо сейчас с этого момента перестаньте его использовать»
Ну и дальше пространно говорит о наличии фундаментальных проблем в апаче и предлагает перейти на nginx.
events.yandex.ru/events/kit/3/
Цитата от лектора: «Если вы еще используете апач, то прямо сейчас с этого момента перестаньте его использовать»
Ну и дальше пространно говорит о наличии фундаментальных проблем в апаче и предлагает перейти на nginx.
+6
Не так давно все рабочие проекты стали держать только под nginx — всё супер. При этом перейти с apache на nginx не составляет никакого труда. Даже реврайты все можно легко регулярками конвертнуть. Настройки более удобные и гибкие.
+2
Ага, кстати, для тех у кого многострочные .htaccess и кому лень вручную их переписывать для nginx в сети есть конверторы.
winginx.ru/htaccess
winginx.ru/htaccess
0
Поддерживаю, тоже давно всё перевёл. Некоторые трудности были только с MediaWiki из-за её очень «особого» подхода к работе ЧПУ, но как уже сказал коллега чуть выше, это все можно нивелировать настройкой конфига.
А для Wordpress, к примеру, есть небольшой модуль, который фиксит работу ЧПУ на nginx и вовсе из коробки.
А для Wordpress, к примеру, есть небольшой модуль, который фиксит работу ЧПУ на nginx и вовсе из коробки.
+1
mod_flv под nginx нет, так бы тоже пересел
0
А ngx_http_flv_module не подходит? nginx.org/ru/docs/http/ngx_http_flv_module.html
+6
Все бы прекрасно, если бы можно было скрипты под разными юзерами запускать. Иначе взлом одного сайта ставит под удар все остальные автоматом.
0
Nginx вообще скриптов не запускает. Будьте спокойны. =)
0
А кто же запускает обработку PHP-скриптов? ;-)
0
UFO just landed and posted this here
Именно! И работает он как раз под одним юзером, что фактически дает права на все проекты общие. В этом и проблема.
0
Это уж как настроите. Можете настроить на каждый сайт свой пул со своим юзером.
+2
Я что-то про это уже читал, правда там, как я понял, нужно еще с бубном местами скакать, что не добавляет удобства. Есть какой-то нормальный мануал на эту тему, не в курсе?
0
Да не было там никогда никаких заморочек, пулы от разных пользователей у меня работали ещё когда php-fpm существовал только в виде патча на php 5.2.
Настроек там по пальцам пересчитать:
php.net/manual/en/install.fpm.configuration.php
Но как видно, можно не просто пользователя задать, но и chroot для каждого сделать, плюс ограничения по ресурсам.
Каждый пул — это отдельная секция в конфиге, вот пример:
www.if-not-true-then-false.com/2011/nginx-and-php-fpm-configuration-and-optimizing-tips-and-tricks/#php-fpm-pools-configuration
Настроек там по пальцам пересчитать:
php.net/manual/en/install.fpm.configuration.php
Но как видно, можно не просто пользователя задать, но и chroot для каждого сделать, плюс ограничения по ресурсам.
Каждый пул — это отдельная секция в конфиге, вот пример:
www.if-not-true-then-false.com/2011/nginx-and-php-fpm-configuration-and-optimizing-tips-and-tricks/#php-fpm-pools-configuration
+1
Вспомнился анекдот.
В ресторане вскакивает грузин(г) и орет
(г) — Грузины лучше чем армяне
Подскакивает армянин (а)
(а) — Чем лучше? ЧЕМ?
(г) — Чем армяне.
В ресторане вскакивает грузин(г) и орет
(г) — Грузины лучше чем армяне
Подскакивает армянин (а)
(а) — Чем лучше? ЧЕМ?
(г) — Чем армяне.
-3
Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess
Честно говоря разочарован. Думал здесь я найду реально что-то интересное, а не простой репост того, чего итак в сети уже полно в 100500 копиях.
+10
Если все скрипты лежат в папке system достаточно ли в нее кинуть отдельный файл .htaccess с записью Deny From all
И как это сделать не плодя файлы .htaccess?
И как это сделать не плодя файлы .htaccess?
0
Да, достаточно. И плодить файл не придется, один файл на всю папку system.
Другое дело, что по хорошему она должна быть на одном уровне с public_html, чтобы еще и таким способом исключить прямого обращения.
Другое дело, что по хорошему она должна быть на одном уровне с public_html, чтобы еще и таким способом исключить прямого обращения.
0
Да, действие .htaccess распространяется на все вложенные папки, если вы не перекрываете правила специально во вложенных папках
0
Например, выбирая с 0 на 12 вы будет задавать диапазон IP-адресов одной сети
Это надо перевести.
+1
Знающие люди, подскажите несведущему.
А можно ли открывать доступ не по ip, а по адресу сайта? Или ip & адрес сайта?
1. Управление доступом к файлам и каталогам
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
А можно ли открывать доступ не по ip, а по адресу сайта? Или ip & адрес сайта?
0
По домену? Насколько я знаю — никак.
0
Это IP клиента, а не сервера. Какой у клиента может быть «адрес сайта»?
0
Например, для определенного сайта сделать возможность доступа к файлам на моем сервере, а для остальных закрыть доступ.
0
для определенного сайта сделать возможность доступа к файлам на моем сервере
Это оксюморон, извините. Когда компьютер, на котором хостится «сайт» (то есть который, кроме прочего, обслуживает http-запросы в качестве сервера) выступает в роли клиента, он не обладает такими свойствами «сайта», как «домен» или «адрес сайта». В роли клиента он имеет только IP, использующийся для сетевого соединения, по которому и возможна блокировка.
0
А вот и не правда. В роли клиента может быть не только ип адрес, может быть и fqdn (если конечно ДНС запись имеется и ДНС настройки сервера позволяют резолвинг делать).
Строка типа:
запретит доступ к ресурсу если клиентский ип резолвится как 123-whatever-dsl.provide.net или natted.whatever.com
Днс проверка происходит вне зависимости от того что стоит в
Строка типа:
Deny from .net whatever.com
запретит доступ к ресурсу если клиентский ип резолвится как 123-whatever-dsl.provide.net или natted.whatever.com
Днс проверка происходит вне зависимости от того что стоит в
HostnameLookups
— On или Off.+1
Можно делать редирект через RewriteRule, если домен указан не правильно.
Но это по сути не ограничение доступа
Но это по сути не ограничение доступа
0
UFO just landed and posted this here
Не нужно так делать. Что если я пользователь Андроид-смартфона, захожу на ваш сайт, но я не хочу ставить ваше приложение?
+2
Перенаправлять насильно — плохое решение. Правильно — задать один раз вопрос «У нас есть приложение, хотите установить?», и если пользователь откажется, то больше не упоминать.
+1
Бессвязная и нелогичная выборка директив конфига апача, непонятно зачем поданная в контексте htaccess.
А новички, на которых эта статья рассчитана, после фраз типа «написав вместо них «0/12», вы зададите диапазон IP-адресов одной сети» — запутаются окончательно.
В целом все выглядит а ля «смотрите, какие опции конфига апача я знаю».
А новички, на которых эта статья рассчитана, после фраз типа «написав вместо них «0/12», вы зададите диапазон IP-адресов одной сети» — запутаются окончательно.
В целом все выглядит а ля «смотрите, какие опции конфига апача я знаю».
+1
Вы знаете, я ее переводил потому что действительно новичок и многого из этого не знал, а 0/12 в ступор не вогнали. Судя по количеству добавивших статью в избранное — не одному мне это оказалось интересно.
-1
Местами да, интересно, но директив надергано много, области применения у всех разные, поэтому в избранном статью нет смысла держать — она никак не помогает решить какую-то конкретную задачу.
0
Если я использую обычный хостинг, а не выделенный сервер, то какой хостер мне разрешит копаться в файлах конфига апача и вносить там свои правки? И я могу одним файликом задать конкретные правила для конкретной директории без того, чтобы лезть в конфигурационный файл сервера, так чем это плохо и почему не решает конкретных проблем?
0
Статья не про htaccess, а про настройку апача и пхп.
Тот факт, что эти настройки можно вынести в htaccess, как и написано в начале статьи, «знает любой web-разработчик».
То есть проблему недоступности конфигов на хостинге статья-то решает (в принципе одним только своим заголовком), а вот солянка из опций апача а пхп не понятно с какой целью и по каким принципам подобрана.
Тот факт, что эти настройки можно вынести в htaccess, как и написано в начале статьи, «знает любой web-разработчик».
То есть проблему недоступности конфигов на хостинге статья-то решает (в принципе одним только своим заголовком), а вот солянка из опций апача а пхп не понятно с какой целью и по каким принципам подобрана.
0
Обход диалога загрузки
Спасибо, при загрузке PDF файлов очень поможет — а то клиенты понаставят плагинов для просмотра PDF в браузере, потом спрашивают как сохранить файл.
0
Да, тоже сталкивался с претензиями «не работает скачивание нашего прайса/предложения/», и даже после объяснения причин все равно у клиента оставалось недовольство полученным результатом.
0
UFO just landed and posted this here
Да, вы правы, это не панацея. Лично я применил этот способ на практике только раз — на проекте работающем на Instancms. Там была проблема — у каждого пользователя есть собственное хранилище файлов, куда он может заливать допустимые форматы и давать прямую ссылку на скачивание залитых файлов. Так вот архив .zip скачивался, а архив .rar считывался и выводился набором символов в новой вкладке. Правка в .htaccess помогла решить проблему. Так что от всего не спасает, но некоторые вопросы решает)
0
При правильных заголовках такого не должно происходить, какие бы плагины не стояли.
0
Мой вариант: github.com/Claud/.htaccess/blob/master/.htaccess там тоже достаточно полезных правил и в все прокомментировано.
0
В пп 4 забыты поисковые пауки работающие с изображениями.
Желательно разрешить поисковым системам ссылаться на ваши изображения.
Я так же добавил вместо запрета — замену изображения на другое изображение ворам вашего контента.
У меня воришкам отображается — Читай оригинал на сайте.таком-то!
Желательно разрешить поисковым системам ссылаться на ваши изображения.
Я так же добавил вместо запрета — замену изображения на другое изображение ворам вашего контента.
У меня воришкам отображается — Читай оригинал на сайте.таком-то!
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(.*)vasilisc.com(.*) [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(.*)?yandex.(.*) [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(.*)?google.(.*) [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(.*)?yahoo.(.*) [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(.*)?mail.(.*) [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(.*)?bing.(.*) [NC]
RewriteRule (.*)?\.(jpg|jpeg|png|gif)$ /путь/к/vasilisc.com/images/bolt2.png [L]
0
А подскажите как сделать работающий редирект с https на http? Уже всё перепробовал, так и забросил.
Пробовал:
не работает
не работает
не работает
Пробовал:
RewriteCond %{HTTPS} =on
RewriteRule .* http://site.ru%{REQUEST_URI} [R=301,L]
не работает
RewriteCond % ^443$ [OR]
RewriteCond % =on
RewriteRule ^(.*)$ http://site.ru/ [R=301,L]
не работает
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
не работает
0
Попробуйте:
по идее должно работать.
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
по идее должно работать.
0
Пробовал, не работает, последняя строка в моём предыдущем сообщении.
0
Может быть в конфигурации сервера что-то. Вообще по идее должно работать. А до этого у вас не стоит RewriteRule на HTTPS? Понимаю что слишком просто, но иногда ответы на поверхности.
0
Возможно, техподдержка хостинга не может мне чётко ответить. Но зато чётко говорит, что менять ничего не будут. Нет, не стоит.
0
А ведь не исключено что именно хостер и может это решить. Google нашел прецедент:
otvety.google.ru/otvety/thread?tid=05f7b281b7896393
otvety.google.ru/otvety/thread?tid=05f7b281b7896393
0
А так?
и что значит не работает — ничего не происходит?
RewriteEngine On RewriteCond %{SERVER_PORT} ^443$ RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [L,QSA]
и что значит не работает — ничего не происходит?
0
DocumentRoot под HTTP и HTTPS разный? Может быть, просто .htaccess не туда пишете.
0
Защита сайта от вставки изображений с других ресурсовТакая защита не даст яндексу и гуглу индексировать картинки.
0
Может быть, кто-нибудь знает, как запретить перенаправление после rewrite?
Есть вот такое правило:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/m)?/([^/]+)\.(jpg|jpeg|gif|png)$
RewriteRule .* http:// my.domen.com/user/upload%1/%2.%3
Сейчас, когда пользователь заходит по ссылке my.domen.com/12345.png, его просто редиректит на полную ссылку на изображение my.domen.com/user/upload/12345.png.
А можно ли сделать так, чтобы в строке состояния пользователь видел ссылку my.domen.com/12345.png, но показывалось изображение, которое лежит по ссылке my.domen.com/user/upload/12345.png?
Есть вот такое правило:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/m)?/([^/]+)\.(jpg|jpeg|gif|png)$
RewriteRule .* http:// my.domen.com/user/upload%1/%2.%3
Сейчас, когда пользователь заходит по ссылке my.domen.com/12345.png, его просто редиректит на полную ссылку на изображение my.domen.com/user/upload/12345.png.
А можно ли сделать так, чтобы в строке состояния пользователь видел ссылку my.domen.com/12345.png, но показывалось изображение, которое лежит по ссылке my.domen.com/user/upload/12345.png?
0
5. Блокировка посетителей, перешедших с определенного домена
А как запретить вход всем, кроме рефереров с конкретного сайта?
А как запретить вход всем, кроме рефереров с конкретного сайта?
0
Sign up to leave a comment.
Articles
Change theme settings
Полезные хаки и сниппеты для .htaccess