Nano Hash - криптовалюты, майнинг, программирование

Деактивировать список каталогов для всех, кроме LAN htaccess

Я хотел бы деактивировать список каталогов с помощью htaccess для всех, кроме моих локальных IP-адресов.

Это работает нормально, но только для одного адреса IP:

    # deactivate directory listing if not coming from local
    Options -Indexes
    <If "%{REMOTE_ADDR} == '192.168.188.44' ">
      Options +Indexes
    </If>

Как бы я сделал это для всех адресов IP, исходящих от 192.168.*?

Я использую Apache2 2.4.4 в своей Windows и в настоящее время 2.2.2 на своем сервере Ubuntu. Очевидно, что приведенный выше блок кода не будет работать до Apache2 2.4. Так что было бы неплохо, если бы какой-то фрагмент работал на обеих системах.

Заранее спасибо.


Ответы:


1

Вы можете сделать это через mod_rewrite как в старых, так и в новых версиях Apache.

Поместите этот код в свой файл DOCUMENT_ROOT/.htaccess:

RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{REMOTE_ADDR} !^192\.168\.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [F]
05.01.2014
  • Я протестировал его перед публикацией. Убедитесь, что это первое правило и помещено в DOCUMENT_ROOT/.htaccess 05.01.2014
  • Обнаружил ошибку: я подключаюсь к этому серверу через свой роутер (без VPN, через dyndns) и поэтому он должен думать, что я из своей локальной сети. Я проверил ваш фрагмент на моем действующем сервере, и он работает правильно, поэтому ваш ответ правильный. 05.01.2014
  • Или.. Проверил htaccess онлайн-тестером. Пишет, что REMOTE_ADDR недоступен. Но я не понимаю? root@raspberrypi:/var/www# apache2 -v Версия сервера: Apache/2.2.22 (Debian) Сервер построен: 10 марта 2013 г. 05:34:48 root@raspberrypi:/var/www# a2enmod rewrite Перезапись модуля уже включена Как может ли это быть? Есть идеи? 05.01.2014
  • Онлайн-тестер — не способ проверить это правило. Протестируйте его на своем веб-сервере (я уже протестировал его) 05.01.2014
  • ОК, это IP-адрес. REMOTE_ADDR — это локальный IP-адрес локальной сети, поэтому он не будет работать. (Проверил с помощью PHP) Глупые ДИНДНС :D. В любом случае, спасибо. Тогда надо думать о чем-то другом. :) 05.01.2014
  • ‹IfModule mod_rewrite.c› # деактивировать список каталогов, если он не поступает из локального RewriteEngine On RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.10$ RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [F] ‹/IfModule › Теперь работает в моем особом случае. Спасибо за помощь. 05.01.2014
  • Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..