JavaScriptでリンク先やリモートホストを特定し処理を行う方法を御存知の方、あるいはすでに実践しておられる方おりましたら方法を教えてくださいませ。
実は先日、私のサイトにアクセス解析を設置したところ不可解な動きをする来訪者がアクセス解析により発見されたのです(しかも問題の来訪者ですが、以前私のサイトのBBSに荒らしまがいのカキコがされる事件があり、その犯人と同一人物であるおそれがあります!)。その犯人に軽く脅しをかけてやろうと(もちろん大問題にならないように)考えているのですが……
関連書類を徹底的に読み漁れば解決するのでしょうが私自身平日余裕ががないのとぐずぐずしていると向こうに対策を講じられてしまうおそれがあるので……
P.S.できればJavaScriptのヴァージョンは1.2でお願いします(1.3でも可です)

このQ&Aに関連する最新のQ&A

A 回答 (2件)

JavaScriptではリモートホストの特定は無理だと思いますが。


ただリンク元であれば、document.refererで取得することは可能です。

どうせならJavaScriptではなく、CGIかSSIで処理された方がいいんじゃないですか?
CGI/SSIならリモートホスト情報は環境変数のREMOTE_HOST、もしくはREMOTE_ADDRに入ってきますし、リンク元もHTTP_REFERERで取得できますから、確実に相手を特定したいのなら私はそちらをおすすめします。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
JavaScriptのdocument.referrerを使ったほうはきちんと動きました。
CGIのプログラミングについては私はまったく明るくないので人様の作られたフリーのものをいただくしか方法がないのですが。
ともかく、アドバイスありがとうございました。

お礼日時:2001/02/22 00:33

 俺が個人的に使っているCGIには、不正なアクセスをすると環境変数をすべて俺のところにメールで送ってくるようなプログラムを組んでいます。

言語は Perl です。
 もっとも、かつてそれに引っかかった人はいませんが(^_^;
    • good
    • 0
この回答へのお礼

下にも書いた通り私はCGIにはまったく明るくないのですが少し参考になりました。
これからはCGIの勉強でもしようかな。
アドバイスどうもありがとうございました。

お礼日時:2001/02/22 00:36

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qjavascriptで来訪者のcookiを利用し、

javascriptで来訪者のcookiを利用し、
訪問回数によってhtmlの<p>タグ中の表示を変えたいのですがソースを教えていただくことは出来ますでしょうか?

javascript初心者のために直接htmlに埋め込む形式でいただけたら大変ありがたく思います。

下記が具体例となります。
ある、<p>タグの一部分で

1回目来訪時にはあああああああと表示の部分と
かかかかかかの表示の部分(別々の<p>タグ中で表示)

2回目来訪時にはいいいいいいいと表示
ききききききの表示の部分(別々の<p>タグ中で表示)

3回目来訪時以降はううううううと表示
くくくくくく表示の部分(別々の<p>タグ中で表示)

Aベストアンサー

具体例が、今ひとつ解らないのですが、
<p>タグでも、<div>タグでも、<span>タグでも、
要素にユニークなid属性を

<span id="hoge">あああああ</span>

のように付加すれば、
 document.getElementById("hoge").innerHTML = "かかかかか";
のように、要素のHTMLの中身を書き換えられますよ

前回の回答のfunction Cookiechk()を

function Cookiechk(){
var moji;
var times = getCookie("Times");
switch(times){
case "":
times = 1;
moji="かかかか";
break;
case "2":
moji="きききき";
break;
default:
moji="けけけけ";
break;
}
times++;
setCookie("Times", times);
document.getElementById("hoge").innerHTML =moji;
//clearCookie("Times");
}

みたく、書き換えるんですけど....

具体例が、今ひとつ解らないのですが、
<p>タグでも、<div>タグでも、<span>タグでも、
要素にユニークなid属性を

<span id="hoge">あああああ</span>

のように付加すれば、
 document.getElementById("hoge").innerHTML = "かかかかか";
のように、要素のHTMLの中身を書き換えられますよ

前回の回答のfunction Cookiechk()を

function Cookiechk(){
var moji;
var times = getCookie("Times");
switch(times){
case "":
times = 1;
moji="かかかか";
break;
case "2":
moji="きききき";
break;
default:
moj...続きを読む

QJavaScript解析のお願い

以下JavaScriptはどのような処理を実施しているのかご教授頂けますでしょうか。

javascript:if(!!document.getElementById("iframe1")==false){var d=document;var e=d.createElement("script");e.charset="utf-8";e.src="TEST1.js" "?" new Date().getTime();d.getElementsByTagName("head")[0].appendChild(e);}



TEST1.js

var _0x6713=
["\x73\x65\x76\x65\x6E\x74\x68",
"\x74\x65\x6E\x73\x68\x69",
"\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64",
"\x73\x63\x72\x69\x70\x74",
"\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74",
"\x73\x72\x63",
"\x68\x74\x74\x70\x3A\x2F\x2F\x69\x6D\x67\x2E\x74\x61\x6E\x74\x6F\x72\x61\x2E\x6A\x70\x2F\x73\x70\x5F\x73\x74\x2F\x6A\x73\x2F\x6B\x61\x63\x68\x69\x6B\x6F\x6D\x69\x2F\x6A\x71\x75\x65\x72\x79\x2D\x31\x2E\x31\x30\x2E\x31\x2E\x6D\x69\x6E\x2E\x6A\x73",
"\x6F\x6E\x6C\x6F\x61\x64",
"\x68\x74\x74\x70\x3A\x2F\x2F\x71\x71\x71\x77\x77\x77\x2E\x77\x65\x62\x2E\x66\x63\x32\x2E\x63\x6F\x6D\x2F\x6E\x65\x77\x70\x61\x6E\x63\x68\x69\x32\x2F\x6D\x65\x6E\x75\x2E\x6A\x73\x3F",
"\x67\x65\x74\x54\x69\x6D\x65",
"\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64",
"\x68\x65\x61\x64",
"\u65E2\u306B\u7ACB\u3061\u4E0A\u304C\u3063\u3066\u307E\u3059"];
version=_0x6713[0];
var doc=document;
if(doc[_0x6713[2]](_0x6713[1])==null)
{
var jq=doc[_0x6713[4]](_0x6713[3]);
jq[_0x6713[5]]=_0x6713[6];
jq[_0x6713[7]]=function()
{
var _0x9d8dx3=doc[_0x6713[4]](_0x6713[3]);
_0x9d8dx3[_0x6713[5]]=_0x6713[8]+ new Date()[_0x6713[9]]();
doc[_0x6713[11]][_0x6713[10]](_0x9d8dx3)
};
doc[_0x6713[11]][_0x6713[10]](jq)}else {alert(_0x6713[12])
}

以下JavaScriptはどのような処理を実施しているのかご教授頂けますでしょうか。

javascript:if(!!document.getElementById("iframe1")==false){var d=document;var e=d.createElement("script");e.charset="utf-8";e.src="TEST1.js" "?" new Date().getTime();d.getElementsByTagName("head")[0].appendChild(e);}



TEST1.js

var _0x6713=
["\x73\x65\x76\x65\x6E\x74\x68",
"\x74\x65\x6E\x73\x68\x69",
"\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64",
"\x73\x63\x72\x69\x70\x74...続きを読む

Aベストアンサー

ざっと眺めただけですが…


前半のものは、
id="iframe1"という要素が存在しなければ、script要素を新たに生成して「TEST1.js」を読み込む
というもののようです。(ご提示のままだと、エラーになるのではないかと推測しますが、何かの過程で「+」がブランクに置き換わっちゃったとかでしょうか?)


後半のものは、同様に
id="tenshi"という要素が存在しなければ、img.tantora.jpのサイトからjQueryを読込み、さらにqqqwww.web.fc2.comのサイトからmenu.jsを読み込む。
"tenshi"の要素が存在している場合はアラートを出す。
といったかんじでしょうか?

Qjavascriptのソースの解析お願いします。

初歩的な質問ですみません。
view-source:http://www.ryokurian.jp/atelier/geso/
こちらのソースコードのスクリプト内にある
sc.src = "http://www.ryokurian.jp/atelier/geso/geso.php?url=" + encodeURI(elm.value) + "&fnc=_ryokurian_getSource&out=utf-8";

の解析をお願いします。
とくに"&fnc=_ryokurian_getSource&out=utf-8"なのですが
_ryokurian_getSourceを呼び出しているのはなんとなくわかるのですが
引数の受け渡しをどのようにしているかがよくわかりません。

あとphpファイル?の中身についてもよくわかりません。

この1行を分解して、教えていただけるととてもうれしいです。


よろしくお願いします。

Aベストアンサー

そのhtmlにはgetSource、_ryokurian_getSourceの2つの関数が定義されており、
getSourceでは動的に以下のようなスクリプトタグを生成しています。
<script id="_ryokurian_getSourceScript" charset="utf-8" src="http://www.ryokurian.jp/atelier/geso/geso.php?url=http://www.google.co.jp/&amp;fnc=_ryokurian_getSource&amp;out=utf-8"> </script>

その生成されたスクリプトタグで外部jsとして読み込まれてるスクリプトは以下の1行です。
_ryokurian_getSource("長いので略 指定されたURLのページのhtmlソース")

つまり、以下の順に動いています。
(1)ページロード時にgetSource、_ryokurian_getSourceの定義を読み込み
(2)ページ内のボタン押下時にgetSourceが実行
(3)getSourceが生成したスクリプトタグにより_ryokurian_getSourceを実行
(4)_ryokurian_getSource関数が引数の値をtextareaのvalueに代入

要件がよくわかりませんが、jqueryを使うなど、他のやり方の方がわかりやすいと思います。
http://semooh.jp/jquery/api/ajax/jQuery.ajax/options/

そのhtmlにはgetSource、_ryokurian_getSourceの2つの関数が定義されており、
getSourceでは動的に以下のようなスクリプトタグを生成しています。
<script id="_ryokurian_getSourceScript" charset="utf-8" src="http://www.ryokurian.jp/atelier/geso/geso.php?url=http://www.google.co.jp/&amp;fnc=_ryokurian_getSource&amp;out=utf-8"> </script>

その生成されたスクリプトタグで外部jsとして読み込まれてるスクリプトは以下の1行です。
_ryokurian_getSource("長いので略 指定されたURLのページのhtmlソ...続きを読む

Qjavascriptでjsonの解析で困っています

以下のようなjsonのデータの中から、ccと33をとりだし、変数に代入しようとしています。
jsonのデータは読み込めているのですが、その後の
var myData = JSON.parse(this.responseText);
x = myData.we[0][2][0];
y = myData.we[0][2][1];

としてるのですが、代入ができていません。データの構造が間違っていますか?x = myData.we[0][2][0];  y = myData.we[0][2][1]; の部分が間違っていますか?javascript jsonについては初心者です。詳しく教えていただきたく思い投稿しました。よろしくお願いします。

------ json ---------------------------------------

{

"wd":[
[
         ["a",1],["b",2],["c",3],["d",4],["e",5]
     ],

[
         ["f",6],["g",7],["h",8],["i",9],["j",0]
     ]

],


"we":[
[
         ["aa",11],["bb",22],["cc",33],["dd",44],["ee",55]
     ],

[
         ["ff",66],["gg",77],["hh",88],["ii",99],["jj",00]
     ]

]



}

以下のようなjsonのデータの中から、ccと33をとりだし、変数に代入しようとしています。
jsonのデータは読み込めているのですが、その後の
var myData = JSON.parse(this.responseText);
x = myData.we[0][2][0];
y = myData.we[0][2][1];

としてるのですが、代入ができていません。データの構造が間違っていますか?x = myData.we[0][2][0];  y = myData.we[0][2][1]; の部分が間違っていますか?javascript jsonについては初心者です。詳しく教えていただきたく思い投稿しました。よろしくお願いします。

...続きを読む

Aベストアンサー

No.1 の補足について
> 値が代入されませんでした。

スクリプトは特に問題はありません。
実際のJSONデータですが、もしかして全角スペースが混入されていませんか?

ブラウザの開発者ツールなどで、エラー内容をご確認ください。
http://www.htmlhifive.com/conts/web/view/study-room/devtool-whatis

Qjavascript 解析タグのコメントアウト

XHTMLではなく、HTMLに貼るときにのコメントアウトで、
以下をどうすればよいのでしょうか?

<script type="text/javascript" src="http://i.yimg.jp/images/analytics/js/ywa.js"></script>
<script type="text/javascript">
var YWATracker = YWA.getTracker("XXXX");
YWATracker.addExcludeProtocol("file:");
YWATracker.submit();
</script>
<noscript>
<div><img src="http://by.analytics.yahoo.co.jp/p.pl?a=XXXX&js=no"; width="1" height="1" alt="" /></div>
</noscript>
-------------------------
例1
<!--
// -->

例2
//<![CDATA[
//]]>

例3 どっちでも良い。

XHTMLではなく、HTMLに貼るときにのコメントアウトで、
以下をどうすればよいのでしょうか?

<script type="text/javascript" src="http://i.yimg.jp/images/analytics/js/ywa.js"></script>
<script type="text/javascript">
var YWATracker = YWA.getTracker("XXXX");
YWATracker.addExcludeProtocol("file:");
YWATracker.submit();
</script>
<noscript>
<div><img src="http://by.analytics.yahoo.co.jp/p.pl?a=XXXX&js=no"; width="1" height="1" alt="" /></div>
</noscript>
---------------...続きを読む

Aベストアンサー

『コメントアウト』なら 例1 しかありえません。

例2の書き方は(CDATAセクションと言います)XML 文書内において #PCDATA を CDATA として扱う際に使用するものであり、コメントアウトとは意味も効果もまったく違うものです。混同してはいけません。
そして HTML では <script> 要素内のデータは最初から CDATA として認識されますので、例2のような記述は意味がありませんし、そもそも HTML では CDATAセクションは定義されていない為、使用するのは書式違反です。


人気Q&Aランキング

おすすめ情報