Назад | Перейти на главную страницу

nginx, ограничить все .php кроме index.php, разрешить POST

Я пытаюсь ограничить доступ к .php файлы через HTTP, разрешить только index.php.

Я должен разрешить доступ к .php файлы только через POST и require.

Я сделал следующее:

    location ~ ^((?!index\.php).)*$ {   
        allow 127.0.0.1
        deny all;
    }

Это блокирует все файлы, кроме index.php, однако он также блокирует POST запросы ..

Любые идеи?

Местоположение применяется ко всем типам запросов. К сожалению, единственный способ сделать это - использовать IF

location ~ ^((?!index\.php).)*$ {   
  if ($request_method = GET ) {
    allow 127.0.0.1
      deny all;
  }
}