我正在开发一个移动网络应用程序,人们可以在其中办理登机手续" (在某种意义上)通过扫描某个位置的QR码,它将指向某个URL,如果用户登录到手机应用程序,则会记录他们的出勤率。代码将使用PHP库生成(每个位置都有不同的QR码/ URL)。
我担心用户扫描代码时会在浏览器中看到该网址,并且无需扫描即可手动输入。
有人有任何想法可以阻止这种情况吗?这将是一个移动网络应用程序,而不是市场上的混合应用程序(阅读:没有PhoneGap)
答案 0 :(得分:1)
我一直在使用Dominik Dzienia的PHP QR码编码器。
http://phpqrcode.sourceforge.net/
示例:
include('qr/qrlib.php');
$text = 'my text';
QRcode::png($text);
echo $text;
答案 1 :(得分:0)
我猜一种可能性是加密的一种基本形式。
创建一个包含一些随机字符串的隐藏输入
<?php
$rnd=md5(rand());
session_start();
$_SESSION['rnd']=$rnd;
?>
<input type="hidden" value="<?php echo $rnd; ?>">
使用http://www.myersdaily.org/joseph/javascript/md5-text.html的javascript中的qr代码隐藏输入,并将结果与qr代码一起返回。
然后服务器端你可以用相同的随机字符串md5返回qr代码并检查结果匹配。如果是,那么你给用户一个肯定的结果。
因为随机字符串会改变每个页面的加载,所以没有办法欺骗它
答案 2 :(得分:-1)
您所描述的情况最好通过HTACCESS文件处理,而不是PHP方法。在使用HTACCESS文件时,您可以利用MOD_REWRITE消除URL后面的尾随信息,例如会话变量或其他信息(文件名和扩展名 - 例如index.html),以便浏览的URL将显示为父路径,例如:
http://www.yoursite.com/clients/abc123/index.html
将显示为:
http://www.yoursite.com/clients/abc123/
或其他方式,具体取决于您的重写规则的设置方式。我绝不是HTACCESS和MOD_REWRITE规则的专家,因此我建议将以下页面及其相关链接作为一个好的起点。