Express、Angular JS、Google App-Engine DatastoreでNodeJSにWebアプリケーションを構築しています。NodeJSエクスプレスで表示用HTMLエンティティをエスケープする方法
私はNodeを学習しています。私は、データベースに挿入する前にユーザー入力を「サニタイズ」(エスケープ)するフォームを作成しました。
//Trim and escape all inputs
req.sanitize('requester').escape();
req.sanitize('requester').trim();
req.sanitize('dataowner').escape();
req.sanitize('dataowner').trim();
req.sanitize('requested_filepath_list').escape();
req.sanitize('requested_filepath_list').trim();
「requested_filepath_list」は、UNIXのファイルパスのリストです:私はこのコードを作成するために、MDNのWebサイトでNodeJSチュートリアルを行いました。
ユーザーがリクエストを送信すると、そのリクエストは「エスケープ」形式でデータベースに格納されます。
//Escaped data
/top/example/test123.txt
質問:表示用にデータを「エスケープ解除」するにはどうすればよいですか?
//Desired output
/top/example/test123.txt
それだけで同じ出力を返し、私はエスケープ解除機能を試してみましたが、動作するようには思えません。
let escape_str = '/top/example/test123.txt';
let unescaped_str = unescape(escape_str);
console.log('unescaped_str: ' + unescaped_str);
//Output
unescaped_str: /top/example/test123.txt
//Desired output
/top/example/test123.txt
ストアが最初の場所でエスケープなぜ..ストアだけで、通常のテキストとして。 – Keith
興味深いですが、セキュリティ上の理由からエスケープして保存する方が良いと思いました。 – pengz