2013-04-14 11 views
0

我有一个离线的HTML文件与登录表单。PHP登录表单重定向到离线,iPhone的Web应用程序

它将POST信息发送到我的服务器(在线)上的'login.php'(它会检查您的用户名和密码,并启动会话)。

在该PHP文件我都用这个来“重定向”到您的登录页面:

header('Location: index.php'); 

所以现在重定向到我的服务器(的index.php)的另一个PHP文件,但它需要重新定向到一个名为index.html的离线HTML文件(即在混合应用程序<<kind of web app but offline>>中)。

我该怎么做?

回答

0

你不能,这种方法有几个问题。

首先你有一个基本的安全设计缺陷,因为每个人都可以直接访问这些静态离线页面,因此只是绕过你的登录。

其次你没有办法直接从服务器端访问客户端的本地内容。这将是客户端浏览器中的一个巨大的安全漏洞,因为它允许任何服务器在不知道用户的情况下访问本地内容!这显然只适用于使用“普通”浏览器的情况。如果您使用自己的逻辑实现自己的http客户端/自己的浏览器,情况就不同了。在那种情况下,你可以自由地做任何你想做的事情。例如,您可以发送一个自定义标题并对其作出反应。但显然实现一个自定义浏览器不是微不足道的,尽管在重用现有组件时肯定可行。

也就是说,如果您的手机上的标准浏览器无法正常工作,您可能需要试一试。既然你使用iPhone,我绝不会依赖那里的任何软件来保证安全。请注意,通常,您可以像使用相同路径一样使用重定向标题,也可以使用绝对路径。那么如果你只是重定向到一个文件url会发生什么?

header('Location: file://some/folder/file.static');