簡體   English   中英

使用jqTouch和HTML5保護iPhone WebApp安全

[英]secure iPhone WebApp with jqTouch and HTML5

我有一個免費的虛擬主機提供商上運行的WebApp(只有一個html文件,帶有200行代碼)。 我想限制對WebApp的訪問,所以並不是每個人都可以看到該頁面。 我還只需要一個具有密碼的用戶即可登錄。

是否可以僅在Javascript,JqTouch和html中輕松集成用戶登錄?

您可以加密有意義的源,並且在首次啟動時僅具有一個文本字段,要求用戶輸入密鑰:

http://crypto.stanford.edu/sjcl/

http://bitwiseshiftleft.github.com/sjcl/demo/

這是一個入門示例頁面: http : //robotwoods.com/dev/so_crypt.html

這是代碼(我知道鏈接可疑):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta name="viewport" content="width=device-width, user-scalable=no">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<head>
<title>Encrypted Site</title>
<style>
body {font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;}
#wrap {position:relative; width:500px; height:550px; margin-left:auto; margin-right:auto;}
#pwd {position:absolute; width:120px; top:100px; padding-left:170px; height:50px; margin-left:auto; margin-right:auto;}

</style>
<script type="text/javascript" src="http://crypto.stanford.edu/sjcl/sjcl.js"></script>
<script>
//--------------HERE IS THE ENCRYPTED CONTENT
kt="{iv:\"oMnhqxC9DhBgaZjHvm354g\",salt:\"gxZ08m1I5DY\",ct:\"TIKmKXfzkWaxBJ0nbyMVYo9/tvmlIeuIE4Aknt7j7H4t+bk\"}";
</script>
</head>
<body><div id="wrap"><div id="main">
    <div id="pwd">S.O. Username:<input id='pass' type='text'/><button onclick="login_test()">Login</button></div>
</div></div></body>

<script>
function login_test(){
    try{document.getElementById('main').innerHTML=sjcl.decrypt(document.getElementById('pass').value,kt);}
    catch(err){document.getElementById('main').innerHTML+='<div id=\"error\" style=\"color:#F00\"><br/>This is not for you</div>';} 
}
</script>
</html>

僅使用Javascript,您可以但不應該這樣做:每個人都可以看到。 請考慮使用服務器端語言(例如PHP,ASP或任何其他語言)。

如果只有一頁,則不會。 即使您將內容隱藏在登錄名后面(這是可行的),任何人都可以通過查看html代碼來了解正在發生的情況,因為javascript,jqtouch和html都是客戶端。

您將需要在服務器端實現其他功能以進行身份​​驗證,然后交付內容。

如果您只關心顯示登錄名而實際上並不需要安全性,那么可以出於演示目的實現登錄名等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM