`
hongyu6
  • 浏览: 20156 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

php接收指定IP发送过来的数据参数

    博客分类:
  • PHP
PHP 
阅读更多

    最近做一个短信投票的接口,为了避免短信平台和投票网站数据不一致,还有就是避免其他通过盗用接口进行数据post而导致一些对账出现损失。所以需要指定特定IP的服务器发送过来的数据才是有效的,其他IP的都不作处理。

 

实现方法就是在接口接收程序里面做接收数据IP判断,只有允许的IP的数据我们才接收入库。

php获取数据发送方IP信息的代码为:

<?
if(getenv('HTTP_CLIENT_IP')) { 
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) { 
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) { 
$onlineip = getenv('REMOTE_ADDR');
} else { 
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
?>  

 

上面代码$onlineip为发送数据端IP地址。

把这个代码放在receivesms.php里面,加上判断条件

 

 

 

<?
if(getenv('HTTP_CLIENT_IP')) { 
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) { 
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) { 
$onlineip = getenv('REMOTE_ADDR');
} else { 
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
//echo $onlineip;

/**************************
其他接收参数
          $PHONE=$_POST['PHONE'];
	$SENDTIME=$_POST['SENDTIME'];
	$TITLE=$_POST['TITLE'];
	$CONTENT=$_POST['CONTENT'];
。。。。。。。
**************************/

if($onlineip=="123.218.123.123"&& $PHONE!=null&&$CONTENT!=null){
//插入数据库
}else{
//其他IP的不作处理
}

?>  

 

以上代码  是获取发送数据方IP地址信息,判断是否是指定IP传过来的,如果是就插入数据库,不是就不作处理。

 

0
1
分享到:
评论

相关推荐

    PHP向socket服务器收发数据的方法

    在这个函数中,$host代表服务器的IP地址,$port是端口号,$str是需要发送的数据,$back参数用于指定是否需要从socket端接收返回数据。 关于`socket_read`函数需要注意的是,它会持续读取客户端的数据,直到遇到换行...

    易语言利用PHP连接IP地址

    本教程将探讨如何在易语言程序中利用PHP连接到指定的IP地址,并进行数据交互。这通常用于实现网络通信、API调用或者数据传输等功能。 首先,易语言是一款中国本土开发的编程语言,它以直观的中文编程语法著称,适合...

    PHP语言实现基于tcpip协议的Server端和client实现互相通信+原理讲解.docx

    et_create()`函数创建一个 Socket,并使用`socket_connect()`函数连接到 Server 端的指定 IP 地址和端口。Client 端通过`socket_write()`函数发送消息到 Server 端,然后使用`socket_read()`函数接收 Server 端的...

    PHP 通过Socket收发十六进制数据的实现代码

    本示例主要讲解如何使用PHP的Socket功能发送和接收十六进制数据。以下是实现这个功能的关键步骤和代码解析: 1. **创建Socket**: 使用`socket_create()`函数创建一个Socket。这里的参数是`AF_INET`,表示使用IPv4...

    获取Alexa排名数据的PHP程序代码

    在给定的文件`get_alexa_rank.php`中,我们可以预见到一个PHP函数,它的主要任务是通过发送HTTP请求到Alexa API,然后解析返回的XML数据来获取指定域名的Alexa排名。以下是一个可能的实现: ```php function ...

    socket:发送邮件的php类库.zip

    Socket是PHP中用于网络通信的一种接口,它允许程序员创建低级别的TCP/IP套接字连接,进行数据传输。在这个“socket:发送邮件的php类库”中,开发者提供了一个方便的工具,使得通过PHP发送电子邮件变得更加简单。这...

    PHP中Http协议post请求参数

    在PHP中,HTTP协议的POST请求参数主要用于向服务器发送数据,这种请求方式通常用于提交表单数据、上传文件等场景,因为POST请求可以承载大量数据且数据不会显示在URL上,提高了数据的安全性。了解HTTP协议是理解PHP...

    PHP版SOCKET模拟提交POST消息(源码)

    SOCKET是网络编程中的一种接口,它允许应用程序通过网络发送和接收数据。在PHP中,我们可以使用`socket_create()`函数创建一个SOCKET连接,然后通过`socket_connect()`与指定的服务器建立连接。在POST请求中,我们...

    PHP socket 构造POST与GET

    3. socket_write() 和 socket_read():这两个函数分别用于向Socket发送数据和接收来自Socket的数据。 二、构造GET请求 GET请求是最常见的HTTP请求类型,用于从服务器获取资源。在PHP Socket中构造GET请求,主要...

    UDP.rar_PHP UDP

    7. **多线程/异步处理**:为了实现聊天应用的实时性,可能会使用多线程或异步处理机制来同时处理接收和发送数据,确保用户可以即时收发消息。 在实际的UDP聊天应用中,开发者可能还实现了用户认证、消息加密、心跳...

    PHP使用SOCKTE 实现通信

    2. `socket_bind($sock, $address, $port)`:绑定SOCKET到指定的IP地址和端口,以便监听来自该端口的连接请求。 3. `socket_listen($sock, 5)`:设置SOCKET为监听模式,参数5表示最大等待连接队列的长度。 4. `...

    socket:发送邮件的php类库

    为了简化这一过程,开发者通常会使用预先封装好的类库,比如PHPMailer、SwiftMailer等,它们已经处理好了与SMTP服务器交互的细节,只需提供必要的参数(如邮件内容、收件人、发件人信息等)即可完成邮件发送。...

    STC89C52发送经纬度信息到服务器.7z

    服务器端的编程语言可能包括Python、Java、PHP等,它们通过监听指定端口接收数据,解析出经纬度,然后进行后续处理。 总的来说,这个项目涵盖了单片机编程、GPS数据处理、串行通信、TCP/IP协议和服务器端开发等多个...

    PHP实现 MQTT

    然而,随着物联网(IoT)的发展,实时通信的需求日益增加,PHP也需要扩展其功能来支持此类应用。MQTT(Message Queuing Telemetry Transport)就是一种轻量级的发布/订阅式消息传输协议,常用于物联网设备间的通信。...

    php_socket客户端and服务器端定义.pdf

    需要注意的是,由于Socket通信是基于字节流的,因此在发送和接收数据时,通常需要考虑数据格式化和解码的问题,以确保数据的完整性和正确性。同时,对于错误处理和连接状态管理,也需有完善的机制来保证系统的稳定性...

    php利用新浪接口查询ip获取地理位置示例

    运行这段代码,我们可以得到指定IP地址的地理位置信息。 通过这篇文章的内容,开发者们可以更加清楚地了解如何使用PHP配合新浪API接口实现IP地理位置查询的功能,为自己的项目或应用增加这项实用的服务。

    IPRS-PHP-Integration:IPRS(综合人口注册系统(IPRS)提供基于肥皂的API,可通过国民ID和护照查询公民数据)

    通过PHP的SoapClient类,开发者可以轻松地构建请求,发送到IPRS服务器,并接收返回的数据。 2. 请求与响应处理 在实际操作中,首先需要实例化SoapClient对象,指定SOAP服务的WSDL(Web Services Description ...

    简单的php —— socket 编程

    `socket_write()`用于向连接的socket发送数据,而`socket_read()`用于接收数据。注意,由于网络I/O的异步特性,通常需要循环读取,直到没有数据为止。 6. **关闭socket**: 当通信完成后,记得使用`socket_close...

    php-soap(web,server)

    为了更好地调试,可以启用SOAP扩展的调试模式,通过 SoapClient 的 __getLastRequest 和 __getLastResponse 方法查看发送和接收到的SOAP消息。 六、性能优化 尽管SOAP基于XML,其解析和编码过程可能会影响性能,但...

Global site tag (gtag.js) - Google Analytics