分享几个新增备案不关站的代码
近期新增备案的几个不关站的代码分享给大家,供有需要的朋友们参考。这些代码在实际使用中可能会有所不同,因此如有任何问题,请及时与我取得联系并反馈。
这些代码主要是利用API接口的IP查询地址来限制网站不被特定地区的IP访问。因为新备案的域名必须能够被访问,但是出于审核原因,域名所在的地区则无法看到网站内容。这里有一种通过JavaScript代码实现的方法。
通过引入一个特定的JavaScript脚本,我们可以获取到访问者的IP地址和城市信息。具体代码如下:
``
《IP地域识别:森林作者的PHP实践》
在数字化世界中,了解访问者的地理位置变得越来越重要。为此,我们可以利用PHP编程语言结合IP地址进行地域识别。以下是森林作者分享的一种实用方法。
一、功能封装篇
让我们在ip_config.php文件中实现ipdy函数。这个函数通过获取IP地址并使用特定的API获取地理位置信息。然后,我们将这些信息转换为GBK编码并返回。具体代码如下:
```php
function ipdy($ipaddr) {
$oo0ooo = base64_decode('这里是一个解码后的字符串,其中包含IP信息查询API的URL');
$ipInfoApi = $oo0ooo.$ipaddr;
$areaInfo = file_get_contents($ipInfoApi);
$areaInfo = json_decode($areaInfo);
$ipjg = $areaInfo->data->country.$areaInfo->data->area.$areaInfo->data->region.$areaInfo->data->city.$areaInfo->data->isp;
$ipjg = iconv('UTF-8','GBK',$ipjg);
return $ipjg;
}
```
二、获取真实IP篇
接下来,我们需要获取访问者的真实IP地址。这可以通过get_real_ip函数实现,该函数能够从HTTP请求头中提取真实的IP地址信息。代码片段如下:
```php
function get_real_ip(){
$ip = false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; }
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) { $ip = $ips[$i]; break; }
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
```
三、实际应用篇
我们可以在index.php文件中使用这些功能。我们获取访问者的IP地址和地理位置信息。然后,如果访问者的地理位置信息显示为北京或广东,我们会提示他们网站正在建设中,并建议他们稍后再来访问。以下是相关代码片段:
```php
include("ip_config.php");
$ip = get_real_ip();
$ip_str = ipdy($ip);
if(stristr($ip_str,'北京') || stristr($ip_str,'广东')){
exit("感谢来访,我们正在建设中,需要很长时间。请过些时候来访问。");
} else {
// 其他操作或页面内容展示
}
```
以上代码实现了基于IP地址的地域识别功能,并提供了针对特定地区的访问提示。这样的功能可以灵活应用于各种场景中,例如区域性内容展示、个性化服务等。在实际使用中,请根据需要进行调整和部署。
编程语言
- 分享几个新增备案不关站的代码
- jsp使用cookie存储中文示例分享
- EasyUI折叠表格层次显示detailview详解及实例
- 利用node.js写一个爬取知乎妹纸图的小爬虫
- php按百分比生成缩略图的代码分享
- vue-router中scrollBehavior的巧妙用法
- flex打印操作(FlexPrintJob)还有分页打印操作具体实
- vue 全选与反选的实现方法(无Bug 新手看过来)
- PHP获取当前时间的5种实现方式
- js检测离开或刷新页面时表单数据是否更改的方法
- Asp.net中阻止页面按钮多次提交的解决办法
- input点击后placeholder中的提示消息消失
- JavaScript创建对象的方式小结(4种方式)
- 简谈创建React Component的几种方式
- PHP页面转UTF-8中文编码乱码的解决办法
- jQuery实现的简单动态添加、删除表格功能示例