Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как обеспечить безопасность и защиту магазина?


freefighteer

Recommended Posts

2 часа назад, AlexDW сказал:

 

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

Надіслати
Поділитися на інших сайтах


17 часов назад, AlexDW сказал:

уточнить у хостера или поискать в гугле

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

Змінено користувачем l1key
Надіслати
Поділитися на інших сайтах


добавляю .htaccess  в папку /админ ..  и сразу запрашиваемая страница становится недоступной ..

никакого окошка аутентификации не появляется ..

 

Надіслати
Поділитися на інших сайтах


как оказалось в cPanel есть функция "конфиденциальность папки"  но увы она тоже не захотела работать с папкой админ ) вот что ответила поддержка ..

 

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

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

 

какие такие реврайты -- нужно отключать? ) и нужно ли .. ? в общем все не так просто ) 

Надіслати
Поділитися на інших сайтах


В ‎19‎.‎06‎.‎2017 в 16:57, Shureg сказал:

Да сделайте двойную авторизацию (как вам писали,  htaccess htpasswd, в гугле по этим словам руководств море )  и не забивайте себе голову.

у вас подобное удалось ?, так как у меня не она инструкция не сработала.. 

 

Надіслати
Поділитися на інших сайтах


В 21.06.2017 в 12:05, l1key сказал:

какие такие реврайты -- нужно отключать? ) и нужно ли .. ? в общем все не так просто )

Учитывая, что у вас всё равно отдельный .htaccess для директории admin, можете просто добавить туда

RewriteEngine Off

Это полностью отключит mod_rewrite и исключит все проблемы, которые могли бы быть вызваны им.

В админке ЧПУ в любом случае не используется.

Надіслати
Поділитися на інших сайтах


5 часов назад, Dotrox сказал:

Учитывая, что у вас всё равно отдельный .htaccess для директории admin, можете просто добавить туда


RewriteEngine Off

Это полностью отключит mod_rewrite и исключит все проблемы, которые могли бы быть вызваны им.

В админке ЧПУ в любом случае не используется.

спасибо, я извиняюсь за наглость ) а где и как его выключить ?

в главном htaccess  ?

Надіслати
Поділитися на інших сайтах


18 часов назад, Dotrox сказал:

Я же написал, что в .htaccess, который в директории admin.

А как - путём добавления этой директивы.

 

ясно, спасибо. Попробую напишу что вышло в итоге.

кстати как-то мало тем по безопасности в целом..

Надіслати
Поділитися на інших сайтах


В ‎23‎.‎06‎.‎2017 в 18:12, Dotrox сказал:

Я же написал, что в .htaccess, который в директории admin.

А как - путём добавления этой директивы.

 

RewriteEngine Off
AuthType Basic   
AuthName "Private zone. Only for administrator!" 
AuthUserFile  xxxx/xxxxxxx/xxxxx.in.ua/admin .htpasswd   
require valid-user 
xxxx/xxxxxxx/xxxxx.in.ua/admin

ничего не изменилось .. "запрашиваемая страница недоступна"

Надіслати
Поділитися на інших сайтах


6 часов назад, l1key сказал:

AuthUserFile  xxxx/xxxxxxx/xxxxx.in.ua/admin .htpasswd

Вот это неправильно. Здесь должен быть путь к .htpasswd, а у вас здесь что (внимательно посмотрите)? И почему require с маленькой буквы?

Назначение последней строки вообще непонятно.

Надіслати
Поділитися на інших сайтах


17 часов назад, Dotrox сказал:

Вот это неправильно. Здесь должен быть путь к .htpasswd, а у вас здесь что (внимательно посмотрите)? И почему require с маленькой буквы?

Назначение последней строки вообще непонятно.

так это же и есть путь к htpasswd 

 в последней строке указан полный путь к каталогу который паролится,

в целом я понял что этот шаблон .htaccess  с ошибками .. сейчас поищу другой

Надіслати
Поділитися на інших сайтах


8 часов назад, l1key сказал:

так это же и есть путь к htpasswd 

Нет, это не он.

У вас здесь есть путь к директории admin (и то не хватает слеша вначале), а дальше просто непонятная приписка с .htpasswd.

Полный путь должен выглядеть так: /bla/bla-bla/admin/.htpasswd - сравните с тем, что у вас сейчас.

 

8 часов назад, l1key сказал:

в последней строке указан полный путь к каталогу который паролится,

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

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
В ‎27‎.‎06‎.‎2017 в 18:32, Dotrox сказал:

Нет, это не он.

У вас здесь есть путь к директории admin (и то не хватает слеша вначале), а дальше просто непонятная приписка с .htpasswd.

Полный путь должен выглядеть так: /bla/bla-bla/admin/.htpasswd - сравните с тем, что у вас сейчас.

 

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

AuthUserFile /home/xxxxxx.in.ua/admin/.htpasswd
AuthType Basic
AuthName “Password-protected Area”
Require valid-user
RewriteEngine Off

какие уже только варианты кода в файле .htaccess  не пробовал, ничего не выходит .. как только кладу файл в директорию - страница сразу недоступна . 

нашел вот такую статью  ссылка но у меня на сервере нет файла с конфигом ..

неужели все сидят с открытыми админками ?

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

Надіслати
Поділитися на інших сайтах


2 минуты назад, l1key сказал:

неужели все сидят с открытыми админками ?

Сидят :)

 

Что у вас здесь за кавычки:

3 минуты назад, l1key сказал:

AuthName “Password-protected Area”

?

Должны быть прямые, а вы скопировали с того сайта косые.

 

А вообще у меня есть подозрение, что у вас .htaccess в админке вообще не обрабатывается, потому что он бы со всеми этими ошибками должен был выдавать ошибку 500. Или под страница недоступна вы подразумевали именно её?

Надіслати
Поділитися на інших сайтах


3 минуты назад, Dotrox сказал:

Сидят :)

 

Что у вас здесь за кавычки:

?

Должны быть прямые, а вы скопировали с того сайта косые.

 

А вообще у меня есть подозрение, что у вас .htaccess в админке вообще не обрабатывается, потому что он бы со всеми этими ошибками должен был выдавать ошибку 500. Или под страница недоступна вы подразумевали именно её?

нет у меня без ошибок , кавычки сейчас подравняю но не думаю что от этого заработает )

Снимок1.PNG

Надіслати
Поділитися на інших сайтах


14 часов назад, Dotrox сказал:

Тогда долбите поддержку.

она мне сказала что у некоторых пользователей opencart  могут быть проблемы ) 

типо у некоторых не могут )) 

Надіслати
Поділитися на інших сайтах


10 часов назад, l1key сказал:

она мне сказала что у некоторых пользователей opencart  могут быть проблемы ) 

Долбите до тех пор, пока они вам не дадут ссылку на статью, где эти проблемы описаны (либо не перестанут отмазываться). Потому что на самом деле это бред: .htaccess обрабатывается до того, как запрос перейдёт к ОК, а значит проблема конкретно в .htaccess либо самом Apache.

 

Покажите как у вас сейчас выглядит основной .htaccess и .htaccess в директории admin.

Надіслати
Поділитися на інших сайтах


14 часов назад, Dotrox сказал:

Покажите как у вас сейчас выглядит основной .htaccess и .htaccess в директории admin.

Скрытый текст

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com
Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

### Display PHP errors 
### Uncomment the commands by removing the # sign in front of it.
# php_flag display_startup_errors on
# php_flag display_errors on
# php_flag html_errors on
# php_flag track_errors on
# php_value error_reporting "E_ALL"

 

Скрытый текст

AuthUserFile /homedir/xxxxxxgo/xxxxxx.in.ua/admin/.htpasswd
AuthType Basic
AuthName "Password-protected Area"
Require valid-user
RewriteEngine Off

 

я стандартный htaccess еще не менял, может посоветуете вариант для ОС оптимальный

может им статью по настройке Apache дать ту что я нашел )

Змінено користувачем l1key
Надіслати
Поділитися на інших сайтах


14 часов назад, Dotrox сказал:

Покажите как у вас сейчас выглядит основной .htaccess 

победа )) реврайты нужно было в корневом отключать.. ) спасибо что натолкнули на мыслю)

Надіслати
Поділитися на інших сайтах


когда-то нашел такой .htaccess, только с ним нормально кеширование работало

Скрытый текст


# Закрываем директории от просмотра
Options All -Indexes

# Закрываем доступ к файлам шаблонов, настройкам и логам
<FilesMatch "\.(tpl|ini|log)">
    Order deny,allow
    Deny from all
</FilesMatch>

# SEO URL Settings
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ 
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

# Включаем Gzip сжатие, используя mod_gzip
<IfModule mod_gzip.c>
    mod_gzip_on         Yes
    mod_gzip_dechunk    Yes
    mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$
    mod_gzip_item_include mime      ^text\.*
    mod_gzip_item_include mime      ^application/x-javascript.*
    mod_gzip_item_include mime      ^application/x-font-woff.*
    mod_gzip_item_exclude mime      ^image\.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

# Включаем Gzip сжатие, используя mod_deflate
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/javascript text/css application/x-javascript application/javascript
</IfModule>

# Кэширование статики заголовком Cache-control
<IfModule mod_headers.c>
    Header unset Last-Modified
# 120 days
    <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|cssgz|jsgz)$">
    Header set Cache-Control "max-age=7776000, public"
    </FilesMatch>
# 120 days + Append Accept Encoding
    <FilesMatch "\.(css|js|cssgz|jsgz)$">
    Header set Cache-Control "max-age=7776000, public"
    Header append Vary: Accept-Encoding
    </FilesMatch>   
# 120 days
    <FilesMatch "\.(xml|txt)$">
    Header set Cache-Control "max-age=7776000, public, must-revalidate"
    </FilesMatch>
# 120 days
    <FilesMatch "\.(html|htm|php)$">
        Header set Cache-Control "max-age=7776000, private, must-revalidate"
    </FilesMatch>
# Compatible with old browsers
    <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
        Header unset X-UA-Compatible
    </FilesMatch>
</IfModule>

# Кэширование статики указывая Etag и Expires 
FileETag MTime Size
<IfModule mod_expires.c>
    ExpiresActive on
    <filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">
        ExpiresDefault "access plus 1 year"
    </filesmatch>
    ExpiresDefault "access 7 days"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType text/javascript "access plus 1 year"
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType text/html "access plus 7 day"
    ExpiresByType text/x-javascript "access 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>

#Правим совместимость сжатия со старыми браузерами
<IfModule mod_setenvif.c>
    BrowserMatch "MSIE" force-no-vary
    BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

#max_execution_time это максимальное время работы скрипта, поставил побольше, чтобы сервер не вырубал работающий скрипт.
php_value max_execution_time 200

### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

 

 

Змінено користувачем l1key
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.