0

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

我将如何确保

4

2 回答 2

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

  2. 有一个多步骤的过程来注册统计数据。应用程序从服务器请求代码,应用程序使用秘密盐对代码进行哈希处理,然后应用程序将这个盐分哈希连同所有使用数据一起发送回服务器。

在这两种方法中,您仍然无法判断某些用户是否正在制造请求。您正在用 Java 编写客户端,这意味着无论您使验证过程多么复杂,您的最终应用程序都将是可反编译的,并且您的方法将是可重现的。第一个解决方案的优势在于将统计信息与单个用户隔离开来,因此,如果用户最终试图破坏您的系统,您可以删除该用户的所有条目。

于 2013-09-29T13:36:38.803 回答
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,很简单不是吗。但是如果有人知道你正在使用的那个令牌怎么办。它很容易被利用。

Level-2可能类似于,您和脚本都知道一个公式,例如它总是将 toekn 设置为 yymmyyddHH 格式的今天日期。

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

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

Level - 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

于 2013-09-29T20:13:58.823 回答