Только позвольте метод POST для определенного файла в каталоге

Является завихрение php установленным пакетом? Если это не будете Вы, то должен будет, вероятно, заставить администратора устанавливать его для Вас, или необходимо будет выяснить, как установить его как некорневой пользователь в другом каталоге.

5
задан 18 October 2013 в 11:38
4 ответа

You could use the Require directive:

<Directory "/var/www/folder">
    <Files "index.php">
        Require method POST
    </Files>
</Directory>

However, since that's part of the authorization section, you may want to try this instead:

<Directory "/var/www/folder">
    <Files "index.php">
        <LimitExcept POST>
            Order allow,deny
            Deny from all
        </LimitExcept>
    </Files>
</Directory>
5
ответ дан 3 December 2019 в 01:13

Если ваши уловки с конфигурацией apache не работают, вы можете сделать это в самом index.php. Вверху файла добавьте что-то вроде этого:

<?php
if($_SERVER['REQUEST_METHOD'] != "POST") {
    header("HTTP/1.0 403 Forbidden");
    print("Forbidden");
    exit();
}
3
ответ дан 3 December 2019 в 01:13

Семейство директив управления доступом Order , Allow и Deny устарело в пользу mod_authz_host .

На самом деле это может быть причиной того, что ваша существующая конфигурация не работает, поскольку любые конфликтующие директивы Require будут иметь приоритет над вашей конфигурацией (которая все еще поддерживается с помощью mod_access_compat , но эти директивы будут удалены в будущей версии).

Поскольку вы используете семейство 2.4, вы также должны использовать новые директивы стиля. Я протестировал приведенную ниже конфигурацию на 2.4.4, и она работает должным образом:

<Directory "/var/www/folder">
    Require all granted
    <Files "index.php">
        <LimitExcept POST>
            Require all denied
        </LimitExcept>
    </Files>
</Directory>

Замечание Джека о том, что вы можете использовать директиву Require method , также является правильным и, возможно, более похожим на 2.4 способ сделать это.

1
ответ дан 3 December 2019 в 01:13

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

0
ответ дан 3 December 2019 в 01:13

Теги

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