URL bunu kodlamak istiyorum:
SELECT name FROM user WHERE uid = me()
Bunun için bir modül indirmem gerekiyor mu? İstek modülüm zaten var.
URL bunu kodlamak istiyorum:
SELECT name FROM user WHERE uid = me()
Bunun için bir modül indirmem gerekiyor mu? İstek modülüm zaten var.
Yanıtlar:
JavaScript'leri kullanabilirsiniz encodeURIComponent
:
encodeURIComponent('select * from table where i()')
decodeURIComponent
nasıl çözeceğinizdir. Rica ederim.
Dahili modül querystring
aradığınız şeydir:
var querystring = require("querystring");
var result = querystring.stringify({query: "SELECT name FROM user WHERE uid = me()"});
console.log(result);
#prints 'query=SELECT%20name%20FROM%20user%20WHERE%20uid%20%3D%20me()'
escape
İşlevini kullanın querystring
. URL güvenli bir dize oluşturur.
var escaped_str = require('querystring').escape('Photo on 30-11-12 at 8.09 AM #2.jpg');
console.log(escaped_str);
// prints 'Photo%20on%2030-11-12%20at%208.09%20AM%20%232.jpg'
querystring.stringify()
(Nicolas'ın cevabında) şimdi boş bir dize döndürüyor gibi görünüyor.
querystring.escape()
Yöntem tarafından kullanılır querystring.stringify()
ve genellikle doğrudan kullanılması beklenmez."
URI kodlamasının sorgu kısmı için iyi olduğunu, alan adı için iyi olmadığını unutmayın. Etki alanı punycode kullanılarak kodlanır. Bir URI ve IRI (Uluslararası Kaynak Tanımlayıcısı) arasında dönüştürme yapmak için URI.js gibi bir kütüphaneye ihtiyacınız vardır .
Dizeyi daha sonra bir sorgu dizesi olarak kullanmayı planlıyorsanız bu doğrudur:
> encodeURIComponent("http://examplé.org/rosé?rosé=rosé")
'http%3A%2F%2Fexampl%C3%A9.org%2Fros%C3%A9%3Fros%C3%A9%3Dros%C3%A9'
Eğer ASCII karakterleri gibi istemiyorsanız /
, :
ve ?
kaçan edilecek kullanmak encodeURI
yerine:
> encodeURI("http://examplé.org/rosé?rosé=rosé")
'http://exampl%C3%A9.org/ros%C3%A9?ros%C3%A9=ros%C3%A9'
Bununla birlikte, diğer kullanım durumları için bunun yerine uri-j'lere ihtiyacınız olabilir :
> var URI = require("uri-js");
undefined
> URI.serialize(URI.parse("http://examplé.org/rosé?rosé=rosé"))
'http://xn--exampl-gva.org/ros%C3%A9?ros%C3%A9=ros%C3%A9'
encodeURIComponent (string) bunu yapacaktır:
encodeURIComponent("Robert'); DROP TABLE Students;--")
//>> "Robert')%3B%20DROP%20TABLE%20Students%3B--"
SQL'i bir sorgu dizesinde geçirmek iyi bir plan olmayabilir,