За последние 24 часа нас посетили 21810 программистов и 1375 роботов. Сейчас ищет 691 программист ...

как закрыть доступ к файлам и папкам на сайте

Тема в разделе "PHP для новичков", создана пользователем iamopk, 12 апр 2014.

  1. iamopk

    iamopk Новичок

    С нами с:
    12 апр 2014
    Сообщения:
    14
    Симпатии:
    0
    Доброго всем времени суток!
    У меня тут печальная ситуация сложилась. Все файлы(.txt .css .ptpasswd) находятся в открытом доступе. Т.е. любой зная в каких они папках находятся и названия этих файлов может напрямую зайти на них из браузера просто вбив их в адресной строке(а есть среди файлов и файл с логом и пассом админа сайта). Каким образом мне закрыть к ним доступ?
    Я попытался это сделать при помощи помещения во все папки файла .htaccess, в котором написал:
    ________________
    Deny from all
    Allow from xxx.xxx.xxx.xxx (ip адрес)
    ________________
    и вот совсем не могу разобраться чей ip сюда вводить
    1. Ввел свой ip с компа которого сижу
    Теперь я пробив любой .txt файл мог на него зайти. Но решил попробовать через английскую проксю. И он тоже открывал этот файл..........провал! и даже это сработало бы все равно не очень...ведь я хотел бы иметь доступ к админке не только со своего компа..
    2. Ввел ip хостера
    [​IMG]
    И, видимо, я толи не то ввожу, либо не понимаю что делаю, но самое интересное что доступ к файлам с моего компа и по проксе также остался...вот только теперь я даже в админку свою зайти не могу пишет You don't have permission to access /*****/login.php on this server.
    Я совсем зеленый в этом всем, но уверен, что должны быть легкие, адекватные способы это делать, ибо это наираспространеннейшая неободимость!
    Буду рад любому совету. Даже ссылочке на мануал для чайников по этой теме. Низкий всем поклон!
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    тот, с которого доступ должен быть разрешен. внешний адрес. может узнать его на 2ip.ru
    английские прокси такие английские. зайди с этой прокси на тот же 2ip.ru
    типа открой, затем Ctrl+F5. результат может тебя удивить.
    значит реально работает

    но идея нерабочая, если только ты не купил себе постоянный адрес.
     
  3. iamopk

    iamopk Новичок

    С нами с:
    12 апр 2014
    Сообщения:
    14
    Симпатии:
    0
    тогда подскажите, пожалуйста, рабочую идею. в том-то и дело, что я не знаю как делают обычно. вот и пытаюсь создать велосипед, который даже самокатом не назвать..
    ЗЫ
    или дайте ссылку там где описывается как обычно закрываются все файлы от посетителей сайта.
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    1. создай отдельную директорию куда складывай что не должны видеть. Пропиши ip с которого можно заходить остальные будут блокироваться, сделай авторизацию через htaccess
    2. Хранить пароль от сайта на веб сервере это бред.
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    1) CSS в открытом доступе? Оужас. Чисто для успокоения - трижды закрой доступ к своим css-кам, а потом удивись, почему в браузере страница выглядит как кусок верстки. Открытые css - это нормально.
    2) Хранишь логи или что-то еще в txt? Попробуй хранить их в *.php файлике, имеющем такую структуру:
    Код (Text):
    1. <?PHP
    2. die;
    3. ?>
    4. ***Все что угодно твоей душе***
    Топорненько, но этот файлик хрен кто скачает, хрен кто откроет, хрен кто прочтет. Только ты, через доступ к ФС сервера. Не требует никаких изъебов с IP, настройками сервера и тд. Есть вероятность, что сервак пойдет бородой и начнет отдавать пхп в исходниках, но это крайне редкое явление. И на такой случай лучше файлы с конфигами и тд держать не в директории сайта, а на каталог выше, куда клиент не может обратиться.
    3) Не храни ПАРОЛИ в файлах, доступных извне. Их можно выкачать даже не зная структуру твоего сайта. Тот же wget рекурсивно выкачает весь сайт и не подавится. Не сможет вытащить только исполняемые файлы, потому что вместо них сервер отдаст только их ответ. Ну и еще не выкачает файлы без прав на чтение и те, с которыми сервер пошлет "онтуда" из-за конфигурации.
     
  6. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    Не знаю как от хакеров и специальных программ. От обычных пользователей папки защищаются вложением в папку пустого файла с названием "Index.html".
    .txt , и .html наверно только подбором уникальных названий.
    .css вообще не вижу смысла как то скрывать
    .php от прямого доступа зашищает такая конструкция:
    В основном файле
    Код (Text):
    1. define('SJUDA_VSTAVIT_LJUBOE_SLOVO', TRUE);
    Во всех подключаемых
    Код (Text):
    1. defined('SJUDA_VSTAVIT_LJUBOE_SLOVO') or die('Для тебя доступ закрыт!');
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Это да. Но лучше не пустой, а *.php и с чем-то вроде.
    Код (PHP):
    1. <?php 
    2.  header('HTTP/1.1 404 Not Found');
    или с переадресацией на реферер.
     
  8. iamopk

    iamopk Новичок

    С нами с:
    12 апр 2014
    Сообщения:
    14
    Симпатии:
    0
    ЕЕеЕеЕ!!
    вот этого мне и не хватало!Всем огромное спасибо. Куча полезных советов!
    как же не хватает хоть небольшого опыта работы разработчиком в какой-нить фирме. Варюсь в своем соку, и для очевидных тем придумываю свои громоздкие конструкции, ибо другого не знаю не видел.
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Самый лучший способ проверить защищенность чего-либо, это хакать самого себя. Хакать, используя все знания о своем проекте, кроме пароля к админской учетке и БД. Самому себя CSRF-ить, самому себе инъекции пытаться прокинуть, в том числе через куку, если точно не уверен, что все закрыто. Пытаться пропихнуть XSS в формы, в запросы, шаманить с содержимым гета и поста, пытаться зайти с другого браузера со "стыренными кукисами", стучаться прямо в директории и тд. Можно даже самого себя поДДОСить эксперимента ради, если имеется такая возможность, поглядеть, как нагрузки держит твоя приблуда. А то мало ли, пыщ, придет 100 запросов в секунду и оно почему-то упадет.

    Советую, потому что:
    1) Это весело.
    2) Лучше дыру найдешь ты, чем кто-то другой.
    3) Это весело.
    4) Одно дело прочитать про какую-то уязвимость и написать против нее теоретическую защиту, другое дело - прочитать, попытаться воспроизвести и, получив результат, пилить защиту, имея возможность исполнить атаку в любой момент по желанию. Пилить, не просто понимая процесс, а видя его изнутри.
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Я ддосю регулярно. Интересно же сколько тянет.
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Чем ДДосишь, кстати?
     
  12. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768