仰望星辰工作室

better-staridc-MNBT

better-staridc-MNBT/ MPHX/security.php 1.1 KB · 26 行 原始文件
Z zfhsh first commit 1 天前
1<?php
2function x_real_ip(){
3$ip = $_SERVER['REMOTE_ADDR'];
4if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
5 foreach ($matches[0] AS $xip) {
6 if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
7 $ip = $xip;
8 break;
9 }
10 }
11} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
12 $ip = $_SERVER['HTTP_CLIENT_IP'];
13} elseif (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) {
14 $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
15} elseif (isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) {
16 $ip = $_SERVER['HTTP_X_REAL_IP'];
17}
18return $ip;
19}
20
21@header("Cache-Control: no-store, no-cache, must-revalidate");
22@header("Pragma: no-cache");
23if($is_defend==true){
24 if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')include_once(SYSTEM_ROOT."txprotect.php");
25}
26?>