如何让用户进行身份验证,然后下载专门为他们创建的离线应用程序?
我正在创建一个离线使用的公钥/私钥加密系统,每个用户都需要能够登录并使用表单“下载”他们的加密/解密页面(app.php)。这个表单将它们转储到它们的app.php页面上,并提供一个缓存清单文件。应用程序需要在本地存储它们的加密和解密密钥,以便通过Javascript使用。在没有任何登录信息的情况下访问此页面(app.php)将返回错误页面。任何更新都是通过ajax对api.php进行的,并存储在本地存储中,因此物理地下载页面并将其保存在某个地方将不起作用(本地存储不适用于本地文件)。
下面是我的cache-manifest.php文件:
<?php header("Content-Type: text/cache-manifest"); ?>CACHE MANIFEST
# v1.2
app.php
NETWORK:
api.php登录后刷新应用程序(通过POST请求)会导致显示错误页面,而不是浏览器加载缓存的应用程序。
编辑:
我怀疑POST请求与缺少缓存有关。在初始下载过程中观看firebug显示:
POST app.php 200 - Includes the application to be cached
GET app.php 401 - The error page - this is being cached instead发布于 2010-07-08 22:50:55
POST请求是问题所在,所以我必须为每个用户创建一个唯一的下载链接,然后将他们重定向到该链接。该链接需要能够从浏览器中至少点击两次,所以我在使其无效之前,给了每个链接一个1小时的超时。缓存清单文件还必须使用唯一的url进行修改:
http://.../app.php?instanceid=(md5)
<?php header("Content-Type: text/cache-manifest"); ?>CACHE MANIFEST
# v1.2
app.php?instanceid=<?php echo $_GET['instanceid']; ?>
NETWORK:
api.phphttps://stackoverflow.com/questions/3197690
复制相似问题