![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初めまして。PHPのメールフォームを設置し
お試しをしてみたら、外部から利用はできません、と表示されます。
リファラのチェックをする、に設定しています。
(お借りした所ではこういう質問を受け付けてもらえないので
こちらでお伺いしております)
リファラの意味がわからず調べてみましたが、
「あるWebページのリンクをクリックして別のページに移動したときの、リンク元のページのこと。Webサーバのアクセスログに記録される項目の一つ。」
リファラとは 【referer】 - 意味・解説 : IT用語辞典
<http://e-words.jp/w/E383AAE38395E382A1E383A9.html>
とあり、自分のページからメールフォームにリンクしているのは
大丈夫なのではないかと思っていたのですが・・・
他にブラウザの設定やファイヤーウォールの設定も見てみましたが
リファラを消したりすることも無いようです。
本体?の中に、
if ($_SERVER['HTTP_REFERER'] != 'http://'.$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] && $refCheck) {
Err('外部から利用は出来ません');
と記載している箇所を見つけたので、http://の箇所に自分のアドレスを入れるのかと思い試してみましたがダメでした。
拙い説明でわかりづらいところばかりですが
おわかりになる方がおられましたら、対処法などお教え下さい。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
>本体?の中に、
>if ($_SERVER['HTTP_REFERER'] != 'http://'.$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] && $refCheck) {
>Err('外部から利用は出来ません');
>と記載している箇所を見つけたので
これは「外部からの利用ではないこと」つまり「メールフォームのリンク元ホームページと、メールフォームが同じサーバーに存在しているかどうか?」をチェックしようとしています。
なので、この判定は
外部にあるページからメールフォームにリンク⇒エラー
メールフォームと同じサーバーにあるページからメールフォームにリンク⇒OK
となる事を期待しています。
しかし、$_SERVER['REQUEST_URI']は「プラウザが要求したURL」、つまりメールフォームのURLですから、期待する動作はしません。
この判定文は期待通りには動かず「リンク元とリンク先が同一かどうか?」を判定しますから「常に違う」と言う結果になります。
つまり「リファラのチェックをする」に設定した場合、常に「外部から利用は出来ません」と言うエラーで終了します。
結論は「スクリプトがバグっているから、リファラのチェックをしないに設定して、外部から勝手に利用されるのを覚悟で使うか、外部からの利用をちゃんと制限してくれる、他のメールフォームに変える」です。
chie65536様
ご回答ありがとうございます。
スクリプトがおかしいので頑張ってもダメなんですね。
他のメールフォームを探してみます。
ありがとうございました。
No.3
- 回答日時:
お使いのセキュリティソフトがリファラをカットしてるんじゃないでしょうか(ノートンはデフォルトでリファラをカットしてた記憶があります)。
メールフォームのファイル名はわかりませんが例えばmail.phpからmail.phpを呼び出せば問題ないはずです
php504様
こんばんは。ご回答ありがとうございます。
ノートンは使用しておりませんが、セキュリティソフトの設定を
確認しましたが、遮断をしておりませんでした。
スクリプトからスクリプトを呼び出す・・・
どこをいじればよいのかわかりません。
別のスクリプト探します・・・
ありがとうございました。
No.1
- 回答日時:
こんにちは。
おそらく対処法としては、一度リファラ機能を無効にしてきちんと動作するか確認してみては如何でしょうか?
それできちんと動作するようであればリファラが違うとのことですのでその設定が違うかもしれません。自分のURLを入力する項目やリファラの設定などはありましたか?同じサーバー&ドメインのサイト内の話で間違いないですよね?
この回答への補足
jaga999様
ご回答ありがとうございます。
さきほど、リファラ機能を無効にして試してみましたら
ちゃんと動作いたしました。
自分のURLを入力する項目やリファラの設定などは、
リファラ機能を有効か無効の設定しかありません。
同じサーバー&ドメインです。
リファラは完全ではないにしろ有効にしておく方が
安心だと思いましたので困っております。
どうしてもダメでしたら無効にして使用するしかないのでしょうね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 プロファイルエラーについて 2 2022/12/16 09:31
- その他(インターネット接続・インフラ) ブラウザにIPアドレス入力した時 1 2022/06/16 19:08
- 大学受験 資格試験などの勉強で過去問題集の解説を理解する時、分からない用語を調べてどうするのが良いですか? 問 3 2023/06/18 17:18
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- 日本語 〈場所を示す「に」と「で」〉 という誤り 36 2022/11/12 15:04
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6にてメールを送信する方法
-
【PHPでメルマガ配信したい!】...
-
PHPのmimeDecode.php について
-
$_SERVER{'HTTP_X_UP_SUBNO'}取...
-
Windowsサーバーでメール送信プ...
-
メール受信で空メール送信のプ...
-
存在しないメールアドレスかど...
-
メール送信時文字化けする
-
空メール送信~メールアドレス取得
-
タイマー機能を使って指定時間...
-
メール送信 MAPIMessages.Send ...
-
メールサーバをPHPで作り、win...
-
【file_exists】ファイルが存在...
-
フォントの色を変えるには?
-
C# Excelファイルへの画像挿入。
-
.htaccessにphp_valueが使用できな
-
php で C言語のdefineマクロの...
-
$_SESSION 有効期限をブラウザ...
-
CFileDialogの最初のディレクト...
-
PHP8を使うと、大量のWarningが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
VB6にてメールを送信する方法
-
存在しないメールアドレスかど...
-
コマンドプロンプトで添付ファ...
-
VBでメールを送る時のSMT...
-
問い合わせ完了ページでの二重...
-
送信日時を指定してメールを送...
-
一定時間毎に同じ動作を繰り返...
-
HPの更新をしたら自動でメール...
-
メールアドレスの存在確認はで...
-
$_SERVER{'HTTP_X_UP_SUBNO'}取...
-
mail関数を使うと遅いので
-
Bookを閉じて保存した時のみ実...
-
二重投稿防止方法
-
ブラウザの更新ボタン
-
mb_send_mail関数により送信さ...
-
javamailで220の応答が遅い
-
AccessのDoCmd.SendObjectについて
-
リファラが取得できない?
-
<HTML>~入る タグ が無いから ...
おすすめ情報