No.4ベストアンサー
- 回答日時:
#2です。
リンク元ページからのリンクはボタンでもいいんですかね?
ボタンでよければ、POSTにしてアクセス方法がPOSTかGETかの判断を追加することで、#2の方法でブックマーク対策はできます。
ブックマークからのアクセスはGETしかできない。
と、書いているうちに#2の方法(というよりも携帯ではすべて)の欠点がもう一つ。
リンク元ページに書かれたリンクと同じものを勝手にどこかのページに作成された場合、正規のページから来たものか、不正なページから来たものか判断できない。
これはPOSTにしても対処できない。
Refererを監視して、Refererを吐く機種からアクセスされた場合にのみ、不正なページを発見できる、と対処する事は可能ですが。
発見出来たら、そのサーバ運営者に削除依頼してもイタチゴッコでしょうから、訴訟する等の抑止力を期待するなどになりますが。
No.3
- 回答日時:
リファラ送信されてない場合にそのような事は難しいと思います。
但し、条件付きでかなり面倒な上、条件もなかなか厳しいのですが、以下のような方法を取る事が出来ると思います。
-条件-
条件1.
「あるサイト」が自身の管理下にある事
条件2.
チェックに確実性・正確性を求めず、ID漏れなどで直接「本サイト」にアクセス出来る人間が出るかもしれない事を割り切れる事
-手順-
手順1.
「あるサイト」にアクセスがある度にユニークなIDを発行し、ユニークID及び発行日時をDBに保存
手順2.
「あるサイト」から「本サイト」へのリンクの際に手順1で発行したIDをGETパラメータ(別にPOSTでも可)として付加
手順3.
「本サイト」にアクセスがある毎に、「発行後X秒経過したIDはDBから削除」といった処理を実行
(少々面倒さが増し、ID漏れの危険性が増すが、最終アクセスからX秒経過の方がユーザとしては使い勝手が良いかもしれない)
手順4.
「本サイト」にアクセスがある毎に、GETパラメータの値をチェックし、DBにIDがあるかチェック、DBの値と一致する場合はページ表示、一致しない場合はエラー表示
説明不足ですみません。
「あるサイト」が管理下にないのです・・・。
こちらで指定したリンクを貼ってもらうことはできるのですが、
DBへのアクセスなどはできないのです。。。
とても詳しく書いていただき、参考になりました。
ありがとうございました。
No.2
- 回答日時:
クッションページ(表示はされない)を設ける方法が一番楽ですかね。
たとえば、in.phpを作成して
header("Location: http://~/index.php");
のように、Locationヘッダーを返して画面遷移させる方法。
実際には、Locationヘッダを返す前に、携帯の契約者ID情報を元にDBにin.php通過のデータを挿入する。
サイト内でin.php通過のデータが入っているかどうかを確認して、通過フラグが立っていなければ『直アクセスできません』とでもメッセージを表示する。
通過フラグは指定時間(10分など)を超えたデータは削除する事で、ブックマークされても次回アクセス時には(指定時間が過ぎていた場合)『直アクセスできません』となる。
欠点は、in.phpをブックマークされた場合に対処できない。
(※携帯の場合、表示されているページ以外はブックマークできない?それでもブックマークURLを手入力で編集されたらダメ)
指定時間(10分)を過ぎたら、サイト内で別ページに移動する際にも『直アクセスできません』となってしまう。
(※サイト内移動時に、時間を更新することで対処可能、ただし無操作時間が指定時間を超えた場合にアウト)
PCサイトは同じ手法が使えない。
元ページで、リンク先をブックマークが簡単にできる。
※PCサイトでもリファラを使用する、というわけにはいかない。ウィルスバスターなどのセキュリティ対策ソフトで、リファラを削除する(リファラを送信しない)という機能が存在するため。
他にも欠点はあるかも知れませんが、簡単に実装できるのはこんな感じしか思いつかない。
特定のサイトかのアクセスのみ許可したいので、
ブックマーク(URLが分かってしまう)されてしまうとダメですね・・・。
ただ考え方としてはとても参考になりました!
ありがとうございます。
No.1
- 回答日時:
会員制ページにしない限り、完全に防ぐことは不可能です。
ということで表面上の防止策ですが、基本的にリファラはアテにならないので使えないでしょうね。
どうやっても抜け道は存在しますが、そのサイトにアクセスした時、POSTで何らかの判別用ワードを送信するようにするとかどうでしょう。
以前見たサイトでは、Basic認証をかけて、リンクしているページでユーザー名、パスワードを書いておいて入力させるというものを見たことがあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ブラウザ) このページは動作していません HTTP ERROR 401 2 2022/11/28 12:11
- フリーソフト イーファンビューでwebpファイルが開けません 1 2022/07/12 07:07
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- ネットワーク ホームページを何度もリロードしてるとブラックリストに入れられてアクセスできなくなりますか? 1 2023/03/30 12:18
- その他(クラウドサービス・オンラインストレージ) OneDriveのアクセス権限の変更について教えてください! 1 2023/03/02 13:49
- WordPress(ワードプレス) 「あるサイトのリンクを踏まないと、次のサイトを見れない仕組み」を作りたい 2 2022/07/20 02:43
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- 写真・ビデオ チャットアプリと写真データ 漏洩やプライバシーについて 1 2023/06/19 03:28
- その他(IT・Webサービス) チャットアプリと写真データ 漏洩やプライバシーについて 6 2023/06/19 06:04
- 写真・ビデオ チャットアプリと写真データ漏洩 プライバシーについて 1 2023/06/19 20:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでPEAR::DBを使っているので...
-
index.phpって何ですか? 具体...
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
PHPのセッション有効期限について
-
phpでcookieがうまく保存されない
-
入力フォームの空白や改行を制...
-
重複を防ぐ記述について教えて...
-
PHPSpreadsheetを使って関数を...
-
オススメのプログラミングスク...
-
掲示板のセキュリティについて...
-
掲示板を作成しておりアップロ...
-
ファイルアップロードの上限を...
-
phpのクラスメソッドの定義が長...
-
ファイルアップロードに関して...
-
PHP一覧表示した項目にリンクを...
-
php 確認表示画面で値をSESSION...
-
php 入力画面から確認表示画面...
-
ワードプレスプラグイン MW WP ...
-
imageフォルダに、画像をリサイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダイアログをJavascriptで操作...
-
携帯のキャリアごとにページを...
-
携帯とPCを自動的に判別するプ...
-
webページを自動クリックで巡回
-
指定サイトからのアクセスのみ...
-
携帯のサイトをPCから見ても表...
-
携帯サイトではjavascriptは使...
-
花台の位置は向かってどっちで...
-
PowerShellでのエラー出力の読...
-
お寺の門前に設置してある掲示...
-
掲示板に画鋲、ホッチキス以外...
-
パソコン用語「ツリー」って、...
-
PCケースのHDD設置方法につきま...
-
設置出来ない…
-
デジタルブックを自分のウェブ...
-
シェルのSTEP数について教えて...
-
レジストリの設定をすぐに反映...
-
VBスクリプト---アプリの終了に...
-
風俗嬢の心のセンサーは壊れて...
-
5chなどでスクリプト連投などで...
おすすめ情報