Я пишу приложение Webkit, которое импортирует данные из RSS-канала и сохраняет их в базе данных Javascript. Поскольку данные поступают из внешнего источника, я хочу убедиться, что строки были сделаны безопасными, прежде чем вставлять их в базу данных. Например, в PHP я бы использовал функцию «mysql_real_escape_string», которая экранирует кавычки и другие символы.
В идеале я хочу держаться подальше от встроенных функций, чтобы это приложение могло быть развернуто на нескольких телефонных платформах (iPhone, Blackberry, Android) с помощью WebKit.
Ссылка на эквивалентную функцию PHP:
http://php.net/manual/en/function.mysql-real-escape-string.php
Ссылка на документацию базы данных javascript:
https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html
Пример кода:
В настоящее время это:
mydb.transaction(
function(transaction) {
transaction.executeSql("INSERT INTO rss (url,title) VALUES (?,?);",["www.some-rss-feed.com","a title containing a' quote"], successFunction, errorFunction);
}
);
В идеале это должно быть что-то вроде следующего, где "a_safe_function" - это имя функции, которая делает строку безопасной для базы данных.
mydb.transaction(
function(transaction) {
transaction.executeSql("INSERT INTO rss (url,title) VALUES (?,?);",[a_safe_function("www.some-rss-feed.com"),a_safe_function("a title containing a' quote")], successFunction, errorFunction);
}
);
Библиотеки, которые я использую:
- iPhoneGap
- JQueryMobile
- JQuery