php中禁止單個(gè)IP與ip段訪問(wèn)的代碼小結(jié)
Jun 13, 2016 am 11:59 AM
禁止單個(gè)IP
//加IP訪問(wèn)限制
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$userip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$userip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$userip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$userip = $_SERVER['REMOTE_ADDR'];
}
$banned_ip = array (
"127.0.0.1",
"203.0.0.1",
"56.12.50.65",
"192.168.1.88"
);
if (in_array($userip,$banned_ip))
{
die ("Your IP is block to connect !");
}
echo "腳本之家測(cè)試";
?>
禁止IP段
復(fù)制代碼 代碼如下:
//加IP訪問(wèn)限制
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$userip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$userip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$userip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$userip = $_SERVER['REMOTE_ADDR'];
}
$ban_range_low=ip2long("217.0.0.0"); //ip段上
$ban_range_up=ip2long("217.255.255.255");//ip段尾
$ip=ip2long($userip]);
if ($ip>$ban_range_low && $ip{
print "Banned";
exit();
}
?>

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

INPHP, VariablesRaSepassedByValueByDefault, ce qui signifie que les fonctionnalités sont de réception de produits de réception.

La raison pour laquelle l'en-tête ('emplacement: ...') dans la demande AJAX est invalide est que le navigateur n'effectuera pas automatiquement les redirections de page. Parce que dans la demande AJAX, le code d'état 302 et les informations d'en-tête de localisation renvoyés par le serveur seront traités sous forme de données de réponse, plut?t que de déclencher le comportement de saut. Les solutions sont: 1. Renvoyez les données JSON en PHP et incluez une URL de saut; 2. Vérifiez le champ de redirection dans le rappel AJAX frontal et sautez manuellement avec Window.Location.href; 3. Assurez-vous que la sortie PHP n'est que JSON pour éviter l'analyse de la défaillance; 4. Pour gérer les problèmes de domaine croisé, vous devez définir les en-têtes CORS appropriés; 5. Pour éviter les interférences de cache, vous pouvez ajouter un horodatage ou définir le cache: f

AgeneratorInphpisamemory-EfficientwaytoterateOrgedatasetsByyieldingValuesonEatatimeIntedofreturningThemallAtonce.1.GeneratorsUsEtheieldKeywordToproduceValuesondemand, ReducingMemoryUsage.2.TheyAreusefulForHandlingBigloops, ReadingLargeFiles, OR OR.

Le moyen le plus direct de trouver la dernière occurrence d'une sous-cha?ne dans PHP est d'utiliser la fonction strrpos (). 1. Utilisez la fonction strrpos () pour obtenir directement l'indice de la dernière occurrence de la sous-cha?ne dans la cha?ne principale. S'il n'est pas trouvé, il revient faux. La syntaxe est STRRPOS ($ Haystack, $ aiguille, $ offset = 0). 2. Si vous avez besoin d'ignorer le cas, vous pouvez utiliser la fonction stripos () pour implémenter la recherche insensible à la casse. 3. Pour les caractères multi-octets tels que le chinois, la fonction MB_STRRPOS () dans l'extension MBSTRING doit être utilisée pour s'assurer que la position de caractère est retournée au lieu de la position d'octet. 4. Notez que strrpos () renvoie f

Les stablecoins sont des crypto-monnaies avec une valeur liée à des actifs stables. Les principaux types incluent les garanties de la monnaie Fiat, les garanties de crypto-monnaie et l'algorithmique. Les trois stablescoins traditionnels sont Tether (USDT), USD COIN (USDC) et DAI (DAI). 1. L'USDT est émis par Tether, avec la plus grande valeur marchande et la liquidité la plus forte, et est largement utilisé dans les échanges majeurs; 2. USDC est émis par la Center Alliance, connu pour sa transparence et sa conformité, et a gagné une grande confiance des institutions; 3. Dai est géré par Makerdao et est un représentant de stablecoins décentralisés. Il maintient la stabilité des prix grace à des actifs de cryptographie collatérale excessive et est très favorisé par les utilisateurs Defi.

Pour éviter le détournement de session en PHP, les mesures suivantes doivent être prises: 1. Utilisez HTTPS pour crypter la transmission et définir session.cookie_secure = 1 dans php.ini; 2. Définissez les attributs de cookie de sécurité, y compris Httponly, Secure et Samesite; 3. Appelez Session_Regenerate_id (true) lorsque l'utilisateur se connecte ou les autorisations changent pour changer pour changer le sessionID; 4. Limitez le cycle de vie de la session, configurez raisonnablement GC_MaxlifeTime et enregistrez le temps d'activité de l'utilisateur; 5. Interdire exposer le sessionId à l'URL et définir ses session.USE_ONLY

En PHP, vous pouvez utiliser des crochets ou des accolades bouclées pour obtenir des caractères d'index spécifiques à la cha?ne, mais les crochets sont recommandés; L'index commence à partir de 0 et l'accès à l'extérieur de la plage renvoie une valeur nulle et ne peut pas se voir attribuer une valeur; MB_substr est nécessaire pour gérer les caractères multi-octets. Par exemple: $ str = "Hello"; echo $ str [0]; sortie h; et les caractères chinois tels que MB_substr ($ str, 1,1) doivent obtenir le résultat correct; Dans les applications réelles, la longueur de la cha?ne doit être vérifiée avant le boucle, les cha?nes dynamiques doivent être vérifiées pour la validité et les projets multilingues recommandent d'utiliser des fonctions de sécurité multi-octets uniformément.

Vous pouvez utiliser substr () ou mb_substr () pour obtenir les n caractères des premiers en php. Les étapes spécifiques sont les suivantes: 1. Utilisez le substr ($ string, 0, n) pour intercepter les n caractères des premiers, ce qui convient aux caractères ASCII et est simple et efficace; 2. Lors du traitement des caractères multi-octets (tels que chinois), MB_substr ($ string, 0, n, 'utf-8') et assurez-vous que l'extension mbString est activée; 3. Si la cha?ne contient des caractères HTML ou Whitespace, vous devez d'abord utiliser strip_tags () pour supprimer les balises et couper () pour nettoyer les espaces, puis les intercepter pour s'assurer que les résultats sont propres.
