にせリンク

VB6,VBA,VBS,EXCEL,DOS,BAT,WSH,WORDの小技メモ

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ 燈明日記/ Perlノート/ 漢字起源/ yahoo

はじめに

本ページは、ウインドウズ系全般のティプスメモです。

そう、はじめはVB系のティプスメモだったのですが…いつの間にか、ウインドウズ系全般のティプスメモになってしまいました。

ちなみに、ティプス(Tips)とは、マニュアルに書かれていない技法や裏わざのことですが、本ページでは、私が経験してこれはと思ったノウハウのメモになっています。

尚、以下は本サイトの最新情報(ブログ)です。

それでは、本ページが何かのお役に立てれば幸いです。ごゆっくりご覧ください。

2010-01-04 にせリンク

アンカー(A要素)で引数を記述すると、ブラウザのアドレス欄に引数が丸見えになりますね。

そんな時は、以下のようにフォームとJavaScriptを使い、にせリンクで対応すれば、hiddenで渡せるので、少しセキュリティが上がります。

ポイントは、HTTPメソッド(form要素のmethod属性)を『POST』にします。ここを『GET』にするとA要素と同じになってしまいます。

<html>
<head>
<title>サンプル</title>
<script type="text/javascript">
    function LinkLike(fm, target) {
        if (target != '') {
            document.forms[fm].target = target;
        }
        document.forms[fm].submit();
    }
</script>
</head>
<body>
<p><a href="test01.htm?aaa01=97&aaa02=98" >普通のリンク</a></p>
<form method="POST" name="aaa" action="test01.htm">
<div>
<a href="javascript:void(0)" onclick="LinkLike('aaa', '_self'); return false;">にせのリンク</a>
<input type="hidden" name="aaa01" value="97" />
<input type="hidden" name="aaa02" value="98" />
</div>
</form>
</body>
</html>

サンプルでは、test01.htmはhtmlですが、実際はCGIを指定します。

また、LinkLike関数の引数は、第1引数にform要素のname属性の設定値、第2引数にターゲット名を指定します。

ターゲット名で、フレームで無い場合は、'_self'を指定します。


追記(2010/01/05)

コメントで以下のご指摘を頂きました。

確かに、上記とトレードオフですね。

  • 「新しいウィンドウ (タブ) で開く」「リンク先の URL をコピー」等のコンテキストメニューが全滅し、また Shift + クリックや中クリックによる別窓表示ができなくなるなど、ユーザが取り得る操作を大きく制限することになります
  • リンク先のページをブックマークすることも、リンク先のページに直リンクを張ることもできなくなり、ユーザの再訪問を著しく妨げます (Amazon の商品検索結果ページから各商品詳細ページへの遷移でもし同じ事をやられたら…)
  • (JavaScript を解釈できるような高度なものを除き) 検索ロボットがリンク先をクロールできなくなり、SEO 的に致命的です
  • 元々 POST はサーバ側のデータを変化させることを目的として使うものとして設計されているので、GET と異なりプロキシサーバが結果をキャッシュしません。このためネットワーク利用効率やユーザの快適性に悪影響を及ぼします。

セキュリティ的にもテキストを単にhiddenでは、確かに問題がありますね。

特に、パスワードやキーになる情報は、暗号化してからhiddenですか…。

おわりに

以下のページには、すべてのTIPSがあります。もしよろしければ、どうぞ!

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくVB-TIPS掲示板へご指摘ください。

人のよいところをどんどん見つけよう