0

私はウェブサイトで何が起こっているかに基づいてスクリプトジェネレーターを書きたいと思っています. getElementsByTagName(*) によってページ変数 ( DOM ) の読み取りを開始する javascript の関数を呼び出し、それをループした後、ajax を使用して定義済みの形式をファイルに書き込みます。

これはすべて、実行中の同じサイトに対して行われますが、ウェブサイトで行われたことと同じように、レコーダーおよびスクリプトジェネレーターとして他のサイトに同じものを実装し、ファイルにログインする必要がある場合、どちらにもスクリプトを含めることができません他の外部 Web サイトも、送信前に関数呼び出しを配置し​​て、dom を読み取り、ファイルにスローします。

ここにjsのダミーコードがあります

 beginRecording();

function beginRecording()
{
    if(RECORD_BIT == 1)
    { 
       processPageData();   
    }
}

function processPageData()
{
  var i
  var obj = document
  var posArray = new Array();
  var allElement = obj.getElementsByTagName("*");
  var dataArrayString = "";

  for(i=0; i < allElement.length; i++)
  {
    if (allElement[i].getAttribute('id') != null && allElement[i].getAttribute('id') != "") 
    {
        posArray[posArray.length] = allElement[i].getAttribute('id');
    }
 }

 for(i = 0 ; i < posArray.length ; i++)
 {
    dataArrayString = dataArrayString+"SET  "+posArray[i]+"="+getValueFromPage(posArray[i]);
 }



  writePostData(dataArrayString);

}

関数 writePostData は、DOM 要素にあったものをログに記録することにより、ajax を実行し、サーバー上のファイルを書き込み/更新します。GET/POST またはページ名などの詳細をいくつか送信します。

beginRecording() は、javascript が document.forms[0].submit() として送信する前にページで呼び出されるため、POST をキャプチャできます。

クロスドメイン ajax について読みましたが、スクリプトをそのファイルに追加せずに外部 Web サイトの HTTP (GET / POST およびページまたは URL のデータを読み取る) を監視し、ファイルに書き込む方法がわかりません。

どんな助けや方向性も素晴らしいでしょう。

4

1 に答える 1

1

リモートサイトにjavascriptを含めたり、HTTPリクエストを監視したりすることはできません。これらは両方ともセキュリティにとって壊滅的です...

于 2012-06-20T17:40:16.217 に答える