2011-03-27 2 views
0

RSS 피드에서 데이터를 가져와 Javascript 데이터베이스에 저장하는 Webkit 앱을 작성 중입니다. 데이터가 외부 소스에서 왔기 때문에 문자열을 데이터베이스에 삽입하기 전에 안전함을 확인하고자합니다. 예를 들어 PHP에서는 "mysql_real_escape_string"함수를 사용하여 따옴표와 다른 문자를 이스케이프 처리합니다.Webkit 자바 스크립트 데이터베이스에 문자열을 안전하게하는 방법

이상적으로이 앱을 WebKit을 사용하여 여러 전화 플랫폼 (iPhone, Blackberry, Android)에 배포 할 수 있도록 기본 기능을 멀리하고 싶습니다.

상응하는 PHP 함수에 링크 : http://php.net/manual/en/function.mysql-real-escape-string.php

링크 자바 스크립트 데이터베이스 설명서에 :http://developer.apple.com/library/safari/#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와는

감사합니다.

답변

1

쿼리와 인수를 별도로 전달할 때 이스케이프 할 필요가 없습니다.

병합 쿼리 및 매개 변수는 PDO 전에 쿼리와 매개 변수를 별도로 전달하는 적절한 방법이 없기 때문에 주로 PHP + MySQL에 대해 수행되는 추악한 행위입니다. 심지어 요즘 많은 사람들이 PDO를 사용하지 않고 오히려 값을 이스케이프합니다 또는 잊어 버림 x) 및 SQL 문자열을 동적으로 작성 :/

+0

고마워! 왜 내가 탈출 함수를 찾는 데 어려움을 겪고 있는지 설명합니다. – woot586

관련 문제