• ベストアンサー

リンクをクリックした時に別ページを表示させるには

2ch掲示板のように、掲示板に貼られたURLをクリックした際に、 「別のサイトにジャンプしようとしています。宜しければ上記のリンクをクリックしてください」 と記載されたページを表示させたいと思っております。 このような事ができるスクリプトを自力で探してみましたが見つかりませんでした。配布されているサイトを教えていただけないでしょうか。また、配布されていない場合、簡単な改造で実現できるようでしたら、改造方法をご指導頂ければ幸いです。改造したい掲示板はKENT WEBで配布されているWeb Patioです。宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#19175
noname#19175
回答No.2

よほどの理由がない限りトランスファーの使用は無意味なので、配布されてないと思います。 > このような文字に変更されてしまいます。 デコードの方法が間違ってます。 > $ARGV[0]=~s/(\W)/'%'.unpack('H2',$1)/eg;$u="​http://$ARGV[0]";​ これはURLエンコードの方法です。 ://.のままでアクセスするなら、むしろデコードは不要です。 また、$ARGVを変更するのは、(この場合は危険ではないかもしれませんが)やめた方がよいです。 html <a href="transfer.cgi?http://www.sample.com/">リンク</a> transfer.cgi #!/usr/bin/perl use CGI; $cgi=new CGI; $url=$cgi->param('keywords'); print<<end; Content-type: text/html <html><body><a href="$url">$url</a></body></html> end exit();

cocolink
質問者

お礼

回答有難うございます。おかげさまで無事解決することができました。

その他の回答 (1)

  • maa45ki5g
  • ベストアンサー率31% (49/158)
回答No.1

よく分かりませんが、.cgiファイルのどれかに http://で始まる文字列の自動リンクを処理する記述があるのではないかと。 それを探して、<a href="~~~~ というところにime.stを噛ませてみてはどうでしょうか。 だめかも。

cocolink
質問者

お礼

アドバイス有難うございます。 > ime.stを噛ませてみてはどうでしょうか。 その転送サービスと同じようなCGIスクリプトを探しております。 以下スクリプトをurl.cgiで保存し、url.cgi?http://www.yahoo.co.jp/へアクセスしてみましたが、http://http%3a%2f%2fwww%2eyahoo%2eco%2ejp%2f このような文字に変更されてしまいます。どのように変更すれば良いのかどなたかご教授宜しくお願いいたします。 #!/usr/local/bin/perl $ARGV[0]=~s/(\W)/'%'.unpack('H2',$1)/eg;$u="http://$ARGV[0]"; print qq|content-type: text/html\n\n<html><head><title>jump</title></head><b> <a href=$u>$u</a></b><br>別のサイトにジャンプしようとしています。宜しければ上 記のリンクをクリックしてください<br><br><hr>|;

関連するQ&A

専門家に質問してみよう