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