1
我打算将JavaScript代码存储在MongoDB(No-SQL)数据库中。加密JavaScript代码,以防止MongoDB中的JavaScript注入?
但为了防止JavaScript注入,我想加密字符串中的JavaScript代码。
有没有一种方法来加密它,然后解密它,而没有缺陷的JavaScript代码?
我打算将JavaScript代码存储在MongoDB(No-SQL)数据库中。加密JavaScript代码,以防止MongoDB中的JavaScript注入?
但为了防止JavaScript注入,我想加密字符串中的JavaScript代码。
有没有一种方法来加密它,然后解密它,而没有缺陷的JavaScript代码?
有很多其他网络的东西考虑到这一点。
我建议你看一下jQuery插件加密jquery plugin encryption
我personnally没有使用这些加密工具之一,但整合似乎很容易, 当然你应该随机生成一个加密密钥:
例如这里是jqCrypt的例子:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqcrypt.js"></script>
<script type="text/javascript">
$(function(){
$('#form_id').jqcrypt({
keyname: 'jqckval',
randomkey: false,
key: 'some_key_value',
callback: function(form){
form.submit();
}
});
});
</script>
这里应该是解密例子
function c2sdecrypt($s,$k){
$k = base64_decode(urldecode($k));
$s = urldecode($s);
$k = str_split(str_pad('', strlen($s), $k));
$sa = str_split($s);
foreach($sa as $i=>$v){
$t = ord($v)-ord($k[$i]);
$sa[$i] = chr($t < 0 ?($t+256):$t);
}
return urldecode(join('', $sa));
}
从jqCrypt插件。
唯一的强项将是在网页中生成强大的散列,以加密 从网页客户端返回的值。
什么?我认为NoSQL的意思是,你不会通过将数据连接到字符串查询来引发注入问题? – bobince 2010-09-29 22:24:22
@bobince:http://www.kalzumeus.com/2010/09/22/security-lessons-learned-from-the-diaspora-launch/阅读标题:NoSQL并不意味着没有SQL注入 – 2010-09-29 22:27:01
“但要阻止JavaScript注入...“以及这种注入会发生在哪里? – epascarello 2010-09-29 22:53:16