2011-07-04 7 views
-1

私はこの問題が大規模に議論されており、セキュリティ上の理由から親フレームを取得する方法がないことを認識しています。 BUT 私はいくつかのクライアント向けにアドホックなソリューションを開発しています。ブラウザを設定してプラグインをインストールすることができます( "失敗"ソリューションになります)。 ブラウザを保護しないようにブラウザ(Chromeなど)を設定します。 私の目的は、そこにウェブサイトにアクセスすることなく、そこにJavaScriptを注入することです。回避策安全でないJavaScriptがフレームとアドホックのソリューションにアクセスしようとしました

私は実際に動作するPHPプロキシを使用します...かなり悪い(JavaScriptを介して動的にロードされるとリンクを維持する方法は?)、Firefoxのプラグインを開発したくないのですが、私は推測する。

+0

私は非常に明確ではないか分かりません。 私はウェブサイトをハックしたくない。ちょうどクライアントの「低セキュリティブラウザ」で、ウェブサイトとそのウェブサイトを修正する.jsを見ることができる。 – florent

答えて

0

あなたの質問は明確ではありません。しかしiframe内の親から別のドメインをロードする場合は、顧客がオープンソースのブラウザを使用していない限り、アクセスする方法はありません。また、ブラウザにハッキングされたバージョンのこれを可能にします。

しかし、これはさまざまな理由で起こることはありません。

tl; dr:できません。

+0

私たちもそれをやることができました。それは私たちのクライアントがそれを使用するためにタブレットを購入することを要求する非常に特殊なアプリケーションです。ハッキングされたWebブラウザをインストールすることができます。私は実際には最も簡単な解決策を探しています。 ftpにアクセスすることなく、クライアントのウェブサイトのjavascript部分を使ってインストールして開発し、変更できるようにするのは簡単です。 – florent

0

最新のブラウザでは、window.postMessageを使用して2つの異なるドメインから2つのフレーム間で通信できます。

IE6/IE7以前のブラウザをサポートする必要がある場合は、window.nameハッキングを使用できます。

どちらの手法でも、フレーム間で文字列データを渡すことができます。 それからイベントを聞いて行動を起こすようなJavaScriptを両側に持っていなければなりません。ブラウザの設定に何も変更する必要はありません。

EDIT:bookmarklet:あなたのコメントの後

、ここでは別のオプションです。

<html> 
<body> 
<a href="javascript:(function(){var s=document.createElement('SCRIPT');s.src='/url/to/your.js?'+(Math.random());document.getElementsByTagName('head')[0].appendChild(s);})()">Drag'n Drop this to your bookmarks</a> 
</body> 
</html> 

そして、あなたは彼らがあなたのコードを実行したい場合、ブックマークをクリックしてユーザーに尋ねる:あなたは、JSファイルへのパスを変更し、あなたのサイトにこのようなページを定義します。
これにより、クライアントページにコードが挿入され、自由に操作できます。

これは明らかにセキュリティ上の懸念があります。あなたのスクリプトはそのページに完全なアクセス権(コンテンツ、クッキー)を持っています。しかし、あなたはほぼそのためのWebブラウザを再コンパイルする準備ができているので、私はそれが彼らのために動作すると思います。

+0

私は古いブラウザをサポートする必要はありません。 よく分かっていれば、フレームは互いに通信できますか? 例フレームAはフレームBにメッセージを送信しますが、フレームBにはpostMessageイベントを受信するjavascriptがあります。私のクライアントのウェブサイトは何も聞くことができません。 私の場合、フレームA(私)がフレームB(クライアント)を変更したいのですが、フレームBに何があるのか​​を制御できません。ブラウザでは許可されません(弱点になります)。私たちのチャンスは、クライアントブラウザの設定を変更できることです(大規模アプリケーションではありません)。 あなたの時間と忍耐のためのthx! – florent

+0

私は理解しているか分からない。 Iframeにコードを挿入する方法は?この例では、メインフレームの先頭にスクリプトを挿入しますか? – florent

+0

ユーザはリンクをブックマークバーにドラッグアンドドロップする必要があります(これが受け入れられる場合)。その後、クライアントページに移動します。ブックマークをクリックしてください。この時点で、あなたのjsスクリプトは自分のページ内にあなたのサイトから読み込まれます。 iframeを追加したり、コンテンツを変更したりできます。しかし、外部スクリプトを注入するには、手動での行動(同意)が必要です。 – Mic

関連する問題