验证$ _GET请求

时间:2015-01-10 05:31:43

标签: php validation security

SERVER1(80.181.155.138)

Java脚本

window.open("http://91.221.23.2?user_uid=123456789"'_blank');

SERVER2(91.221.23.2)

$use_uid=$_GET["user_uid"];
checkUser( $use_uid);//connect to mysql SERVER1(80.181.155.138) and check user and permision

问题:

如果一个人在server1和server2之间嗅探数据包并发送请求(http://91.221.23.2?user_uid=123456789) 如何验证此请求? 我想要分享c:\windows\tem并使用$ _SESSION来发送user_uid,但我认为这不是真的。

我们如何理解一个请求来自验证源或无效资源?

抱歉语言不好:(

1 个答案:

答案 0 :(得分:0)

你可能误解了一些东西。您的服务器80.181.155.138是提供网站,其中包含此Javascript代码。任何访问者,比如说,我在我的计算机上的IP 1.2.3.4,将访问该网站。然后我的浏览器执行该Javascript代码并向91.221.23.2发出请求。请求将来自1.2.3.4。在这种情况下,80.181.155.138处的服务器完全不相关。

从本质上讲,91.221.23.2提供了一个任何人都可以访问的公共API ;任何人需要才能访问。您不能将此限制为"有效来源"。

有3路握手认证方案,例如OAuth。调查这是否适合您。首先,您需要了解上述情况的实际情况。