Перейти к содержанию
tim21701

Проверка лишних прав доступа к файлам и директориям

Рекомендуемые сообщения

Этот скрипт поможет Вам найти директории и файлы, которым выставлены ненадлежащие права доступа.

<?php
error_reporting(E_ERROR | E_PARSE);
 $dir = '/usr/home/ВАШ_САЙТ/data/www/ВАШ_САЙТ.ru/';   // проверяемая директория сайта. меняем у кого свои пути!
class check_perms {
    function check_perms($curpath){
        if($curpath){
            if($dir = @dir($curpath)){
                while ($file = $dir-> read()){
                    if($file != "." && $file != ".."){
                        
                        $perms = substr(decoct(fileperms($curpath.$file)), 2);
                        
                        if(is_dir($curpath.$file)){// если есть поддиректории то продолжаем рекурсию
                            $this-> check_perms($curpath.$file."/");
                            
                            if($perms>775 || $perms<775){
                                if(!@chmod($curpath.$file, 0775)){
                                    $this->perms_d775 .= $curpath.$file."\n";
                                }
                            }
                        }else{// файл
                            
                            $ext = array_reverse(explode('.', $file));
                            
                            if($ext['0']=='php' && ($perms>775 || $perms<775)){
                                if(!@chmod($curpath.$file, 0775)){
                                    $this->perms_f775 .= $curpath.$file."\n";
                                }
                            }else if($ext['0']!='php' && ($perms>664 || $perms<664)){
                                if(!@chmod($curpath.$file, 0664)){
                                    $this->perms_f664 .= $curpath.$file."\n";
                                }
                            }
                        }
                        // пытаемся сменить группу
                        /*if($GLOBALS['group']){
                            $group = filegroup ($curpath.$file);
                            if($group!=$GLOBALS['group'] && !@chgrp($curpath.$file, $GLOBALS['group'])){
                                $this->group .= $curpath.$file."\n";
                            }
                        }
                        // пытаемся сменить владельца
                        if($GLOBALS['owner']){
                            $owner = fileowner ($curpath.$file);
                            if($owner!=$GLOBALS['owner'] && !@chown($curpath.$file, $GLOBALS['owner'])){
                                $this->owner .= $curpath.$file."\n";
                            }
                        }*/
                    }
                }
                $dir->close();
            }
        }
    }
}
$files_map = new check_perms($dir);
if($files_map->perms_d775){ echo 'Следующим директориям нужно выставить права доступа 0775:<pre>'.$files_map->perms_d775.'</pre>'; }
if($files_map->perms_f775){ echo 'Следующим файлам нужно выставить права доступа 0775:<pre>'.$files_map->perms_f775.'</pre>'; }
if($files_map->perms_f664){ echo 'Следующим файлам нужно выставить права доступа 0664:<pre>'.$files_map->perms_f664.'</pre>'; }
//if($files_map->group){ echo 'Следующим файлам нужно выставить права доступа 0664:<pre>'.$files_map->group.'</pre>'; }
//if($files_map->owner){ echo 'Следующим файлам нужно выставить права доступа 0664:<pre>'.$files_map->owner.'</pre>'; }
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

/config.php

/admin/config.php

/system/cache/

/system/logs/

/image/

/image/cache/

/image/data/

/download/

а как скриптом пользоваться,просто скопировать например в файл script.php и запустить на сайте вот так site.com/script.php ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...а как скриптом пользоваться,просто скопировать например в файл script.php и запустить на сайте вот так site.com/script.php ?

Да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В третье строке один раз пишу свой сайт без .ru заним уже свой сайт.ru., больше не чего не менял

Далее всё в оболочку script.php и загружаю в папку WWW.

В браузере ввожу - мой сайт.ru/script.php.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваш сайт действительно имеет окончание .ru?

Понятие "ВАШ_САЙТ.ru" не значит, что надо писать site.com.ua.ru, если ваш сайт - site.com.ua... :)

Да и вообще надо прописывать свой путь. Он у вас не обязательно будет такой, как в примере...

У меня, например, путь такой:

/var/www/МОЙ ЛОГИН(ПОЛЬЗОВАТЕЛЬ)/data/www/МОЙ САЙТ/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваш сайт действительно имеет окончание .ru?

Понятие "ВАШ_САЙТ.ru" не значит, что надо писать site.com.ua.ru, если ваш сайт - site.com.ua... :)

Да и вообще надо прописывать свой путь. Он у вас не обязательно будет такой, как в примере...

Можно прописать какой угодно путь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что значит "какой угодно"???? Надо писать правильный путь, или можно любую глупость написать? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваш сайт действительно имеет окончание .ru?

Понятие "ВАШ_САЙТ.ru" не значит, что надо писать site.com.ua.ru, если ваш сайт - site.com.ua... :)

Да и вообще надо прописывать свой путь. Он у вас не обязательно будет такой, как в примере...

Окончанее 100 пудово.RU

...а вот про свои путь - ЭТО КАК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что значит "какой угодно"???? Надо писать правильный путь, или можно любую глупость написать? :)

Ну, откуда мне знать в каком домене у Вас сайт? Можете прописать .com, .net, .ua, .info,... Вот, что означают слова - "всё, что угодно". :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, откуда мне знать в каком домене у Вас сайт? Можете прописать .com, .net, .ua, .info,... Вот, что означают слова - "всё, что угодно". :rolleyes:

:) да мне не надо. Я знаю свой путь... Это у gdi31 ваш скрипт не работает. Мне он вообще не нужен. :)

gdi31, добавьте в корень сайта вот этот файлик, запустите и увидите полный путь к файлу:

test.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

/config.php

/admin/config.php

...

на эти файлы права должны быть 644 (!) иначе двери админки вашего магазина открыты для всех желающих ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может, кто разъяснить?

Стоят права доступа к файлам :

Изображение

Всё гладко и шёлково

Ставлю права доступа к файлам:

Изображение

Вылазит так, шо на голову не оденешь!

Изображение

Так и задумано? или где-то очередные камни и рифы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
gdi31: на папки system/cache и system/logs поставьте 775, если не поможет - тогда 777. Про папку smsgate ничего не могу сказать, а на остальные вроде можно оставить 655.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

gdi31: на папки system/cache и system/logs поставьте 775, если не поможет - тогда 777. Про папку smsgate ничего не могу сказать, а на остальные вроде можно оставить 655.

С этим более или мене понятно . . .

А алфавит, чё так плющит ?Изображение

- дак самое интересное, вражеский не трогает, а по нашему родному, всей массой.

Есть специалист, который совокупность знаков для письма на каком-то языке (в моём варианте русских букв), расположенных в определённом порядке - вылечит (ну или хотябы подлечит) ?Изображение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.