-1
votes

Comment accepter uniquement les demandes HTTPS et rejeter http?

bonjour j'ai mon site hébergé sur Hostinger et je l'ai permis de forcer https, alors quand les gens écrit http: // Exemples.com Il va à https://example.com . J'ai une API qui gère un poste de mon programme. J'ai déjà mes demandes de manutention de l'API, mais je ne sais pas comment "filtrer" https. À l'heure actuelle, toute demande (HTTP ou HTTPS) est acceptée par mon API, mais je souhaite que cela ignore ou bloque la demande HTTP, et ne répondez que sur https.

@edit: Suggestions utilisées sur les commentaires et sont venus avec ce qui suit: RewriteEngine sur Réécritecond% {https} éteint Réécritule ^ (. *) $ https: //% {http_host}% {request_uri} [l, r = 301]

Lorsque je fais une demande HTTPS, cela fonctionne, mais lorsque je fais une demande HTTP, il en fait la demande, mais lorsque j'échresse les variables envoyées sur le corps, elles sont vides.


4 commentaires

utiliser .htaccess


Réécritecond% {https}! = Sur Rewriterle ^ (. *) $ Https: //% {http_host}% {demande_uri} [l, r = 301]


Bonjour, j'ai déjà les suivants: rewriteEngine sur réécritecond% {https} de rewriteCond% {http_host} ^ exemple.com $ rewriterule (. *) Https: //% {http_host}% {request_uri} dois-je remplacer cela avec ce que vous a écrit?


Ajoutez ceci au début de votre fichier API si (vide ($ _ serveur ['https']) || $ _server ['https'] == 'OFF') retour; Cela rejette les demandes effectuées sur http!


4 Réponses :


1
votes

Veuillez définir ci-dessous la règle de réécriture dans .htaccess . xxx

son travail pour moi


1 commentaires

Merci, cela a travaillé. J'ai rencontré un problème que je mettrai à jour sur la question principale.



1
votes

dans .htaccess

p>

  <IfModule mod_rewrite.c>
       RewriteEngine On
        # Redirection to HTTPS
            RewriteCond %{SERVER_PORT} 80
            RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
        .................
   </IfModule>


1 commentaires

Merci, cela a travaillé. J'ai rencontré un problème que je mettrai à jour sur la question principale.



0
votes

Ceci devrait rejeter les demandes HTTP avec un 403

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ - [F]


0 commentaires

0
votes

Puisque vous tag php, vous pouvez également utiliser $ _Server ['https'] : xxx


0 commentaires