Restringir o acesso a index.php - Apache

1

Por isso, desejo restringir o acesso ao meu arquivo index.php quando a solicitação vem com parâmetros. Por exemplo:

  • https://example.com?param1=value1 (restringir / negar acesso)

  • https://example.com (Permitir acesso e carregar o site normalmente)

Existe alguma maneira de fazer isso com um arquivo .htaccess ?

Qualquer ajuda é muito apreciada.

    
por Brian Moreno 28.06.2018 / 00:56

2 respostas

1

Você pode fazer algo parecido com o seguinte usando o mod_rewrite, próximo ao topo do seu arquivo root .htaccess :

RewriteEngine On
RewriteCond %{QUERY_STRING} ^param1=value1$
RewriteRule ^(index\.php)?$ - [F]

Isso retornará um 403 Proibido se um dos seguintes URLs for solicitado:

  • /?param1=value1
  • /index.php?param1=value1

Observe que isso corresponde à string de consulta (parâmetros de URL) exatamente , conforme indicado no seu exemplo. Qualquer outra coisa será permitida.

UPDATE

how would I deny access if any parameters exist?

Nesse caso, você pode alterar a condição para simplesmente corresponder qualquer coisa . Isso é algo , mas não nada . Por exemplo:

RewriteCond %{QUERY_STRING} .

O ponto ( . ) corresponde a qualquer caractere.

    
por 28.06.2018 / 01:38
0

Tente isto:

RewriteEngine On
RewriteCond %{REQUEST_URI} =^param1=.+$ 
RewriteRule ^ /errors/no.access.html
    
por 28.06.2018 / 01:13