Maison  >  Article  >  développement back-end  >  Comment PHP obtient-il les informations d'en-tête d'une URL spécifiée, puis les masque-t-il et les ferme-t-il ?

Comment PHP obtient-il les informations d'en-tête d'une URL spécifiée, puis les masque-t-il et les ferme-t-il ?

autoload
autoloadavant
2021-03-24 15:10:343511parcourir

1. Comment obtenir les informations d'en-tête de l'URL spécifiée en PHP

Super simple, une seule ligne de commande :

<?php print_r(get_headers(&#39;https://www.mdaima.com&#39;));?>
 
Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 05:09:48 GMT
    [2] => Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1i PHP/7.3.26
    [3] => Content-Length: 199
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

2. Comment désactiver l'affichage ou La méthode de masquage des informations d'en-tête

est divisée en deux étapes. La première étape consiste à remplacer le PHP.ini dans le fichier expose_php = On par expose_php = Off. 🎜>, jetez un œil à Apache

Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 05:10:50 GMT
    [2] => Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1i
    [3] => Content-Length: 199
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

Après le redémarrage, nous pouvons voir que les informations sur la version

ne sont plus affichées, mais les informations sur PHP et le nom du service sont toujours affichées. il faut être plus minutieux pour que ce soit sûr. Nous devons ajouter deux instructions au httpd.conf d'Apache. Tout d'abord, confirmons s'il existe les deux instructions de configuration suivantes dans le fichier httpd.conf d'Apache. Sinon, ajoutez directement deux lignes de données au bas du fichier de configuration. Apache

ServerTokens Prod
ServerSignature Off

Voir les instructions ci-dessous pour les paramètres de configuration de la commande de ServerTokens :

ServerTokens Prod   显示“Server: Apache”
ServerTokens Major  显示 “Server: Apache/2″
ServerTokens Minor  显示“Server: Apache/2.2″
ServerTokens Min   显示“Server: Apache/2.2.17″
ServerTokens OS   显示 “Server: Apache/2.2.17 (Unix)”
ServerTokens Full   显示 “Server: Apache/2.2.17 (Unix) PHP/5.3.5″ (如果未指定任何的值,这个是默认的返回信息)

Instructions pour ServerSignature activé :

Lorsqu'il est activé, lorsqu'un utilisateur demande à accéder à la page Web de notre site Web qui n'existe pas, le serveur affichera un message d'erreur. Le message d'erreur comprendra le nom du serveur, la version de

et autres. informations pertinentes en bas de la page. Afficher des informations, ce qui permettra à certaines personnes sans scrupules d'exploiter les vulnérabilités connues de la version. Il vaut donc mieux ne pas afficher cette information, on peut régler ce paramètre sur Apache. Off

En modifiant ces deux fichiers de configuration de paramètres, l'effet final de

est le suivant : header

Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 04:54:49 GMT
    [2] => Server: Apache
    [3] => Content-Length: 258
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

Recommandé : "

tutoriel vidéo php" "php tuto

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer