Iveに問題があり、修正方法がわかりません。 私のサイトでは、いくつかのデータを表示するモジュールで、jquery domを使用し、javascript配列からいくつかの要素を作成します。魔法使いにはjavascriptオブジェクトが含まれています。 この配列はphpで生成され、postgresデータベースからデータを取得します。jQuery、JavaScriptの配列/オブジェクトのSQLインジェクションの問題
ユーザーがデータベースを挿入しようとすると、データベースは文字列を通常のエントリとして保存しますが、問題はありません。 コンテンツを一覧表示するときに問題が表示されます。しかし、クライアント側でのみ。リストが完了し、文字列が生成され、クライアント側に渡され、DOM要素が作成されますが、内容はありません。私はエスケープをエスケープするためにPHP関数addslashes()を使っていますが、私は困ってしまいます。だから、
:
<div class="item">
<span>Text</span>
</div>
これが生成されます:あなたは、最後の1は、テスト注入に
編集
HTMLコードが含まれて見ることができるように、ここで配列
[
{"id": "26", "text": "RSS Feed collection"},
{"id": "50", "text": "\\ \' "}
]
ですjQueryを使用します。
JSの一部:
var myArray = [the upper array];
var container = $("#container");
for(nI=0, nC = myArray.length; nI<nC; nI++) {
var currentObj = myArray[nI];
var newItem = $("<div />").appendTo(container);
$("<span />").appendTo(item).html(currentObj.text);
}
そして結果は、アレイが正常に見える、何も表示されていないが、テキストがあるべき正常にすべての場所は空です。問題はなぜですか?
何?注射の問題はどこで起こっていますか?あなたはこれを言い返す必要があります、それは理にかなっていません。 – profitphp
ですから、pg_escape_string()関数で回避するために注入が行われないようにするため、入力データはdbに格納されて格納されます。問題はリスティングにあります。それは、DOMオブジェクトを作成しますが、私はラベルフィールドに何も取得しません。元の投稿を編集して構造を表示します。 –