Какие полномочия для сценариев/каталогов PHP?

Оформить заказ на эту скрипку

Попробуйте добавить образец текста в промежуток в своем теге привязки, а затем установите стиль отображения. Позже при наведении установите дисплей как встроенный блок. См. Выше скрипку для справки. Надеюсь, это поможет.

.sampleText {
  border: 1px solid red;
  display: none;
  padding: 2px;
}


a:hover .sampleText {
  display: inline-block
}

22
задан Gottlieb Notschnabel 20 February 2017 в 13:43
поделиться

5 ответов

Установите для php-файлов значение 640

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

  • владелец 6 будет тем, кто загружает файлы.
  • группа 4 будет той, которая обслуживает файл. Сделайте apache участником группы.
  • nobody 0 означает, что другие пользователи не могут читать этот файл. Это важно, поскольку php-скрипты иногда содержат пароли и другие конфиденциальные данные.

Никогда не позволяйте php-скриптам читаться всеми.

Полезные команды:

chmod 640 file.php
chown user:group file.php
usermod -a -G group apache

Что делают эти команды:

  1. Измените владельца файла file.php, чтобы пользователь умеет читать и писать, читать группы.
  2. Измените владельца файла file.php на выбранное имя пользователя и имя группы.
  3. Добавьте apache в группу, чтобы apache мог обслуживать файл. В противном случае 640 не будет работать.
13
ответ дан 29 November 2019 в 03:42
поделиться

Я написал функцию для решения проблем с разрешениями в PHP / SuPHP и аналогичных программах:

function realChmod($path, $chmod = null)
{
    if (file_exists($path) === true)
    {
        if (is_null($chmod) === true)
        {
            $chmod = (is_file($path) === true) ? 644 : 755;

            if (in_array(get_current_user(), array('apache', 'httpd', 'nobody', 'system', 'webdaemon', 'www', 'www-data')) === true)
            {
                $chmod += 22;
            }
        }

        return chmod($path, octdec(intval($chmod)));
    }

    return false;
}

Может быть, это полезно для вас.

0
ответ дан 29 November 2019 в 03:42
поделиться

каталоги должны иметь выполнение разрешений быть полезным. Обычно это 0755 . PHP Scripts пробеги через MOD_PHP не выполняется, а скорее чтение; 0644 будет достаточно для этого. Справочники, которые должны быть написаны для того, чтобы его принадлежать пользователю, веб-сервер работает так. Может быть дополнительные проблемы, касающиеся разрешений, например, SELinux, но приведенное выше вы получите вам основы.

Документы, которые не должны быть доступен другими пользователями или внешними клиентами, должны быть 0600 , принадлежащие пользователю веб-сервера и расположены за пределами DocumentRoot. Обратите внимание, что запуск mod_php в безопасном режиме предотвратит сценарии когда-либо, включая все, что за пределами Documentroot; жалобный недостаток.

51
ответ дан 29 November 2019 в 03:42
поделиться

Все файлы PHP, предназначенные для решения непосредственно через URL-адреса, могут счастливо проживать в тех же каталогах, что и статический контент (это обычная практика) Отказ

Это хорошая практика, чтобы иметь хотя бы один каталог снаружи, которые видно из веб-сервера, чтобы удерживать, включают в себя файлы, но PHP включают путь должен включать в себя «.».

Я бы порекомендовал не вкладывать много нестандартных каталогов в вашей корневой файловой системе - Webroot по умолчанию зависит от распределения, но обычно я обычно иду с чем-то вроде:

/ var / www / htdocs - как root / usr / local / php - для включения файлов

Очевидно, что если вы намереваетесь запустить свой веб-сервер Chrrot, они должны быть сопоставлены соответственно.

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

Я обычно поступаю с настройкой моих DRWXRWSR-X, принадлежащих члену группы WebDev с владельцем Группы как командой WebDev (UID HTTPD не находится в группе WebDev), и поэтому файлы - RW-R- так кто-нибудь в группе WebDex может изменить файлы, а HTTPD UID может только читать файлы.

1) Означает ли расширение файлов (.php) что-то для сервера:

Да - прочитайте руководство по установке PHP.

c.

0
ответ дан 29 November 2019 в 03:42
поделиться

1) Файлы, которые заканчиваются расширением .php, передаются на компилятор PHP по Apache. Если правильная конфигурация не настроена для этого, файлы PHP полагаются в виде текстовых файлов по серверу. Линия конфигурации Apache « AddHandler PHP5-Script PHP « В файле httpd.conf - это метод php5 для настройки этого.

2) Register.php должен быть доступен в http://www.example.com/php/register.php , так как java-приложение ищет его, поэтому в папке Apache HTDOCS , должна быть папка «PHP» с файлом Register.php в нем.

3) Файлы PHP нуждаются в доступе к чтению доступа пользователя, который выполняет службу Apache. Использование PHP в качестве модуля Apache не имеет «службы», чтобы говорить об этом отдельно для PHP. Вместо этого сервис Apache, когда он получает запрос на PHP-файл, делает вызов оболочки в двоичный PHP для анализа файла и вручную вручную службу Apache результатом, который он служит клиенту. Только если бы вы использовали PHP из командной строки (Setup CLI), будут ли скрипты должны быть выполнены разрешение и начните с #! / Путь / к / php-bin .

4) Запрашиваемый файл (register.php) должен быть в HTDOCS для обслуживания Apache. Если PHP работает с «безопасным режимом» отключена, регистрация .php может включать в себя файл, который был за пределами папки HTDOCS.

5) Путь « ..// INC / DB_LOGIN.PHP « относительно сценария PHP, который изначально был выбран (register.php), поэтому, поскольку регистрация .php находится в htdocss / php / register.php , который бы поставить db_login.php в htdocs / inc / db_login.php .

1
ответ дан 29 November 2019 в 03:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: