![](/img/trans.png)
[英]How do I upload to Google Cloud Storage from client-side JavaScript, with Node on the server?
[英]How do I escape data in Javascript for a client-side database like WebDB or Google Gears?
如果我使用像Google Gears或WebDB實現這樣的客戶端數據庫,那么逃避數據以防止SQL注入的最佳方法是什么? 把它包裝在encodeURI()中?
此外,我甚至需要擔心嗎? 這里有一個模糊的地方, http : //code.google.com/apis/gears/api_database.html#Database-execute讓我覺得它是為我處理的,但我不確定。
如果您使用占位符,則不必擔心引用/轉義。 所以這:
resultSet = db.execute (
'INSERT INTO MYTABLE VALUES (?, ?, ?) WHERE id=?',
[some, variables, that_you_got_from, somewhere]
)
很好。 如果你試圖通過粘貼一堆字符串來構建SQL,那么你就會遇到問題,所以不要這樣做。 但是,在某些情況下,您需要將字符串粘貼在一起才能獲得SQL,但有一些安全的方法可以解決這個問題。 像這樣的東西往往是一個常見的情況,你可以使用占位符和字符串連接:
var list = some_array_of_unknown_size_and_origin;
var qs = [ ];
for(var i = 0; i < list.size; ++i)
qs.push('?');
var rs = db.execute(
'UPDATE some_table SET col = 'blahblah' WHERE id IN (' + qs.join(',') + ')',
list
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.