我正在开发一个Phonegap移动应用程序,如果localStorage上的令牌与数据库中的行匹配,则允许用户自动登录。每次登录或更新时,用户都会收到一个新的自动登录令牌,并将其存储在本地。
作为更高级别的保护,我想将令牌分成4个令牌:3个令牌包含令牌的部分,而第4个令牌包含“代码”。在后端,每个“代码”将包含有关如何连接或解析3个令牌的唯一指令。然后将结果字符串与数据库行进行比较。
$token1 = $_POST['token1'];
$token2 = $_POST['token2'];
$token3 = $_POST['token3'];
$token4 = $_POST['token4'];
if ( $token4 === '101' ) {
// Just a quick example
$requestToken = $token3 . $token1 . $token2;
}
这是一个愚蠢的实现,以提高我的应用程序的安全性?
答案 0 :(得分:0)
这样做没有多大意义。所有令牌都会以同样的方式受到保护,因此攻击者可以一次性窃取所有令牌。此外,特别是在移动应用程序相对容易反编译的情况下(但即使它不容易),攻击者也可以找到合理的资源来确定其工作原理。
所以对我来说,你有点不清楚你想要达到的目标,或者你想要保护的威胁。它似乎是security by obscurity,应该避免使用。