确保特定程序请求页面

时间:2013-09-29 13:29:53

标签: php web

您好我想为我的程序收集数据,我想使用PHP来执行此操作(http://site.com/php?v=“0.0.1”& n =“Application”),我如何才能使php页面正常工作我的程序,而不是其他人有链接。

我如何确定

2 个答案:

答案 0 :(得分:0)

  1. 让您的用户注册他们的软件,并在注册时为他们提供用户ID。将该用户ID作为get arg发送到php页面以识别请求的来源。

  2. 有一个多步骤注册统计信息。应用程序从服务器请求代码,应用程序使用秘密盐哈希代码,然后应用程序将此盐渍哈希与所有使用数据一起发送回服务器。

  3. 在这两种方法中,您仍然无法判断某个用户是否正在制作请求。您正在使用Java编写客户端,这意味着无论您进行验证过程有多复杂,您的最终应用程序都将是可分解的,并且您的方法将是可重现的。第一个解决方案的优势在于可以隔离各个用户的统计信息,因此如果用户最终试图搞砸您的系统,您可以修剪该用户的所有条目。

答案 1 :(得分:0)

有各种各样的方式,但我认为一个非常简单的方法是

发送参数某种令牌,只有你和终端脚本知道。

http://site.com/php?v=0.0.1&n=Application&token=SDGH36THGB

现在,在您的php脚本中,您可以从请求中获取令牌参数,并检查已保存的内容。

if($_GET['token']==$myToken){
   //its my script accessing the page
}else{
   //You can show error or something
}

现在那是 level-1 ,非常简单就不是了。但是,如果有人知道你正在使用的那个令牌,那该怎么办呢?它很容易被利用。

等级2 可以是这样的,有一个你和脚本知道的公式,例如它始终以yymmyyddHH格式设置为今天的日期。

所以现在脚本可以根据实际时间范围检查这是否正确。因此,每次发出请求时,都会有不同的令牌值,具体取决于当前时间,然后脚本会根据当前时间帧检查此令牌。

现在,如果有人知道单一令牌,那么他也无法复制,因为该令牌在一小时后不起作用。您可以自己决定更复杂的逻辑。

级别 - 3 OAuth - 这很难,但最好的部分是你已经可以通过快速谷歌找到非常好的实施库 - https://www.google.co.in/search?q=oauth+in+php&oq=oauth+in+php&aqs=chrome..69i57j0l5.4208j0&sourceid=chrome&espvd=210&es_sm=122&ie=UTF-8