Jump to content

blacks

Newbie
  • Posts

    9
  • Joined

  • Last visited

blacks's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Ищутся добрые люди готовые помочь! 3и или 4е сутки не могу собрать следу штуку : ЗАДАЧА: При заходе на site.spb.ru по установленным кукам посетитель перенаправлялся на один из субдоменов и там оставался. Позже добавить на весь сайт редиект «с www» на «без www». ПОДРОБНЕЙ: Пользователь заходит на site.spb.ru В корне сайта лежит htaccess RewriteEngine On RewriteBase / # субдомены – построены по правилам моего хостера RewriteCond %{HTTP_HOST} (www\.)?sub1\.site.\spb\.ru$ RewriteCond %{REQUEST_URI} !^(/)? sub1/ RewriteRule ^(.*)$ sub1/$1 RewriteCond %{HTTP_HOST} (www\.)? sub2\. site.\spb\.ru$ RewriteCond %{REQUEST_URI} !^(/)? sub2/ RewriteRule ^(.*)$ sub2/$1 # прочитать значение куки и перенаправить на субдомен указанный в куки RewriteCond %{HTTP_COOKIE} setting=([^;]+) [NC] RewriteRule ^(.*)$ http://%1.site.spb.ru/ [R=302,QSA,L] 1. Если куки установлены то в зависимости от них идет перенаправление на sub1.site.spb.ru или sub2.site.spb.ru 2. Если куков нет то ждется переход от пользователя на sub1.site.spb.ru или sub2.site.spb.ru Где и ставятся куки. ПРОБЛЕМА: Редирект по куки на на субдомены идет но с ошибкой: «Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.» «Эта проблема может возникать при отключении или запрещении принятия cookies.» Все вышесказанное работает на виртуальном хостинге, PHP не используется, JavaScript тоже, остальные скрипты тоже - Только META теги, htaccess, html ! Саппорт хостинга предложил что-то непонятное но вроде правдивое: «Объясняю на примере Итак, посетитель заходит на site.spb.ru, оттуда идет на страницу /sub1 Сейчас по умолчаню ему выдается cookie, а надо бы проверить реферер Если реферрер НЕ sub1.site.spb.ru, то выдаем cookie и редиректим на поддомен Поскольку посетитель новый, его перенаправили на поддомен Итак, мы попадаем на ту же самую страницу. Но повторного редиректа не происходит, поскольку этому мешает реферрер.» = Пробовал закрывать по рефералу - не сработало RewriteCond %{HTTP_REFERER} ^http://(www\.)?en\.justplan\.spb\.ru/index.html$ [NC,OR] Кто может, помогите решением! Если необходимо могу приаттачить в zip весь пример. Помогите пожалуйста!
  2. Продолжаю изучение защиты сайта. Недавно прочел несколько статей с предложением отключения некоторых функций PHP. Но так как хостинг у меня только виртуальный и возможности править php.ini нет Придется править .htaccess Подскажите, поправте что не так. Что вкл а что выкл ? Вот несколько директив / функций которые как я понял желательно отключить: safe_mode - проверяет владельца запущенного скрипта и если скрипт пытается открыть какой-либо файл - делает это с правами этого владельца php_admin_flag safe_mode on register_globals - Запретить создание глобальных переменных из пользовательского ввода если включена, переменные GET, POST, Cookie, Server будут регистрироваться как глобальные переменные. Если директива выключена, то глобальный доступ можно получить через массивы $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS php_flag register_globals 0 php_value register_globals 0 allow_url_fopen - запрет подключению сайта к удалённым страницам, скриптам. это несколько замедлит работу программы - при каждом вызове *.php скриптов будет происходить обращение к файлу .htaccess php_value allow_url_fopen 0 php_flag allow_url_fopen 0 phpinfo запретить опасные функции: disable_functions=phpinfo,system,passthru,cmd expose_php - директива сообщает, может ли PHP оповещать пользователей о своем существовании на данном сервере, например, добавляя HTTP заголовок. expose_php off max_filesize Ограничить размер загружаемого файла на сервер upload_max_filesize = 2M Ограничения на время работы max_execution_time = 30 Отключить вывод ошибок И включить директиву записи ошибок в лог-файл сервера. В результате такого запроса, становится известен путь к скрипту и имя файла. Если нет доступа к php.ini, можно добавить в начало скрипта строку error_reporting(0); это подавит вывод ошибок. php_flag display_errors off php_flag log_errors on php_value error_log /home/ваш_путь/web/php_error.log php_value error_reporting 2039 magic_quotes_gpc - если включена, автоматически добавляет слеши к данным пришедшим от пользователя - из POST, GET запросов и cookie. php_flag magic_quotes_gpc 0 magic_quotes_runtime - если включена, автоматически добавляет слеши к данным, полученным во время исполнения скрипта - например, из файла или базы данных. php_flag magic_quotes_runtime 0 Под вопросом: php_value magic_quotes_sybase Off php_value post_max_size 20M php_value max_input_time 200 PS Немного запутался в следующем: 1. safe_mode должен быть выключен или выключен? 2. функции должны включатся с помощью php_value или php_flag ? - поэтому некоторые примеры представлены в разных(двух) вариантах. 3. как включить некоторые функции в htaccess мне не удалось узнать поэтому они написаны в виде настроек для php.ini
  3. Спасибо. Решил попробовать с простого. Но не получилось. Пример который тестил: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> new document </title> <script type="text/JavaScript"> if (lang=='ru') {location.href="index-ru.html"} else {location.href="index-en.html"} </script> </head> <body> index </body> </html> Извините.... нет ли у вас готового примера?
  4. Всем привет. Планирую сделать второй язык для сайта (сейчас только русский) Хочется немного автоматизма добавить – чтоб при заходе на сайт человеку сразу выдавалась нужная языковая страница. Как делается данный метод не знаю. - в программирование слаб. Пригодится любая помощь, совет, мануал. Основные предположения и условия: 1. Сайт не динамический – простой html и местами shtml 2. Смена языка есть ридерект на несколько вариантов: site.ru/en/ site.ru/en.html en.site.ru 3. Предполагаю что определить язык посетителя можно с домена с которого он пришел с браузера – вроде там есть такие «отметины» с куки – если посетитель уже выбрал нужный язык с geo-ip Дополнительные условия: Пользование PHP возможно в зачатках – только для мультиязычности. Предполагается что все должно быть на статике. Возможно в будущем появится блог но вряд ли будут английские посты. Хостинг виртуальный; доступа к настройкам апача нет. Вот вроде и все… ничего не забыл… Всем откликнувшимся заранее большое спасибо!
  5. У меня в htaccess есть несколько деректив отвечающих за защиту/скрытие папок: redirect /config http://www.microsoft.com redirect /wp http://www.microsoft.com Как улушить код добавив функцию NoCase - неважности регистра букв в запросе? (я не очень силен в htaccess) Пока гуглил изучая вопрос нашел вот еще такой пример: RewriteRule ^(login|auth) /404 [L] # для всех файлов в этих папках Вот сижу "у разбитого карыта" и думаю что выбрать? Спасибо.
  6. + поврторюсь с вопросом: что в нижеприведенных директивах лишнее/является дублем который можно удалить (списки расширений php .cgi .pl .fcgi .fpl .phtml могут отличатся) # запрет листинга всех папок и под-папок Options -Indexes php_flag engine 0 AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp # Отключаем PHP. RemoveType php <IfModule mod_php4.c> php_flag engine 0 </IfModule> <IfModule mod_php5.c> php_flag engine 0 </IfModule> # запрет на запуск файлов RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml # запрет доступа к файлам Order Deny, Allow Deny from all
  7. Попробовал "сохранить обьект как" - правой кнопкой в браузере Получился файл с частью кода: <h1>Forbidden</h1> You don't have permission to access /.htaccess on this server. Файл для закрытия директрий для аттач файлов (аватарки, фото пользователей и проч) сегодня стал немного побольше - добавил пару "функций" Но есть сомнения что в чем-то переборщил / где-то продублировали и могут быть пересечения. Подскажите пожалуйста что не так (если такое есть) # запрет листинга всех папок и под-папок Options -Indexes # Всё просто. Во все каталоги, доступные для записи, # закачиваем (или добавляем строчки к существующему) #.htaccess с содержимым: php_flag engine 0 AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp # Отключаем PHP. RemoveType php <IfModule mod_php4.c> php_flag engine 0 </IfModule> <IfModule mod_php5.c> php_flag engine 0 </IfModule> # запрет на запуск файлов RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml # запрет доступа к файлам Order Deny, Allow Deny from all
  8. Согласен. Но я пока в этом не спец - переписать движок/настройки движка чтоб файлы брались с корня хостинга(виртуального)... наверно нужно только что-то в конфиги ЦМСки менять да? Понял - надобность пришла - ингкуды в страницы посыпались. Сохрание паролей, антивирусы, файрволы, сфтп, виртальные машины - все сделал... теперь интересуюсь "папочками" и правами на них
  9. Привет. Пожалуйста оцените / дополните некоторые пункты для защиты сайта: Защита папок в которые грузятся аватарки, фотки и проч - .htaccess кидается в закрываемую папку # ЗАПРЕТ ЛИСТИНГА ВСЕХ ПАПОК И ПОД-ПАПОК Options -Indexes # ЗАПРЕТ ДОСТУПА К ФАЙЛАМ Order Deny, Allow Deny from all # ЗАПРЕТ НА ЗАПУСК ФАЙЛА RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml Защита файла который отвечает за вход в админку CMS 1. входим на страницу admin/admin.php 2. - запрашивается пароль из .htpasswd 3. вводим пароль и логин 4. потом пароль в форме на странице admin/admin.php - .htaccess в корне сайта - в папке admin/ нет файла index # ЗАПРЕТ ЛИСТИНГА ВСЕХ ПАПОК И ПОД-ПАПОК Options -Indexes # НАЗВАНИЕ ТОГО ЧЕГО ЗАЩИЩАЕМ AuthName “not hack” # АДРЕС ФАЙЛА С ПАРОЛЕМ AuthUserFile AuthUserFile home/.htpasswd # МЕТОД ШИФРОВАНИЯ ПАРОЛЯ AuthType Basic # ЧТО ДЛЯ КОГО <Files “admin/admin.php”> Require valid-user </Files> Защита папок с файлами конфигурации CMS - .htaccess в корне сайта # ЗАПРЕТ ЛИСТИНГА ВСЕХ ПАПОК И ПОД-ПАПОК Options -Indexes # ЗАПРЕТ ДОСТУПА К ФАЙЛАМ Order Deny, Allow Deny from all Возникшие вопросы: 1. В первом примере я не переборщил с облием запрещаемых расширений? 2. Стоит ли закрывать admin/admin.php паролем из .htpasswd ? - будет ли система CMS'ки нормально фунционировать? 3. Закрывать/запрещать или нет запуск файлов php и проч (RemoveHandler, AddType application/x-httpd-php-source) в директории с файлами конфигурации CMS'ки? - правда сами файлы имеют расширение .php - просто непонятно зачем в инстркции к CMS на папку с конфигами нуно ставить CHMOD 777 4. Стоит ли в коневом .htaccess писать такое? # ЧТОБ ПОЛЬЗОВАТЕЛИ НЕ МОГЛИ ПРОЧИТАТЬ ФАЙЛ С ПАРОЛЯМИ ############################################## <Files .htpasswd> deny from all </Files> 5. Если мне нужно запретить доступ и запуск файлов в нескольких директориях сайта но мне не хочется в кажду директорию кидать по .htaccess как мне в корневом .htaccess выставить данные права? Допустим есть папки: site.ru/avatar/ site.ru/user-photo/ site.ru/templates/ в корневом .htaccess такое писать? <Files site.ru/avatar/* "\.php|\.phtml|\.cgi|\.exe|\.pl|\.asp|\.aspx|\ .shtml"> Order allow,deny Deny from all </Files> - и так для каждой папки!? - или можно попроще сделать? Спасибо.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy