高级应用整合原生PHP

最后更新时间:2018年11月17日09:50:15

不单是ASP或PHP,它可以整合到任意支持JS代码的语言中

由于比较简单,我们选择了ASP和PHP做为整合演示,其它语言可自行整合。

PHP整合实例
一般情况下,数据库配置页是开放的,而且是全局调用的,我们可以在数据库配置页加上变量,如:


  1. <?php  

  2. //这里是您的数据库配置内容

  3. // -----------

  4. $sys_key="填写授权ID号"; //填写您的授权ID

  5. ?>



上面我们增加了一个变量:$sys_key,而且,这是全站可调用的。下面,我们可以在需要授权的页面这样写:


  1. <?php

  2. echo "<script src='http://sq.demo.ew80.net/rz.asp?sqid=$sys_key'></script>";

  3. ?>


PHP直接输出了这段JS,而且这个授权ID,是直接读取的前面我们自定义的变量的值。

这样我们基本就实现了授权整合,用户只需要填写授权码即可实现授权,而我们要做的,就是在授权中心分配授权ID号就行了。怎么样,是不是跟传统的软件授权类似。

为了让授权更安全,我们引入了随机安全验证文件功能,安全验证文件在授权中心后台的 系统配置-> 安全配置中。可生成多个不同的。

随机安全验证文件为授权作了二次验证,在授权前,先远程读取该随机文件,读取成功则接着验证,如果读取不成功,则直接中断代码执行,这极大的提高了授权的安全,因为有时候,客户会获取授权中心地址,而采用域名劫持的方式来阻止授权的运行。


  1. <?php

  2. $squrl = "http://sq.demo.ew80.net/key/U6Agf6p12welN.txt";

  3. //远程读取授权中心随机安全验证文件。

  4. //该文件为授权系统在安全配置时自动随机生成,位于授权平台的KEY文件下,请不要删除,以确保能远程读取到。

  5. $ch = curl_init();

  6. $timeout = 10;

  7. curl_setopt ($ch, CURLOPT_URL, $squrl);

  8. curl_setopt($ch, CURLOPT_HEADER, 1);

  9. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

  10. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

  11. $contents = curl_exec($ch);

  12. if (preg_match("/404/", $contents)){

  13. //如果没有远程读取到授权中心随机安全验证文件。

  14. echo "<script language='javascript'>window.alert('授权失败!无法连接到授权服务器!')</script>";

  15. exit;

  16. }else{

  17. '如果授权中心远程连接成功,则开始执行授权JS代码

  18. echo "<script src='http://sq.demo.ew80.net/rz.asp?sqid=$sys_key'></script>";

  19. }

  20. ?>


以上是官方的整合案例演示,当然,方法不止一种,您完全可以按自己的思路和方法来整合的。