• ベストアンサー

phpMyAdminはSSL下でアクセスする必要がない?

以前ネットワークセキュリティカテゴリで「問い合わせフォームをSSL対応させたい」(QNo.3671803)を質問させていただいた者です。その後phpMyAdminをレンタルサーバーにインストールし、phpも少し勉強してSSL下にあるPHPのフォームページから入力されたデータをDBに格納することまでなんとかできたのですが、このphpMyAdminがある領域にパスワード制限はかけたものの、http://からでもアクセスできてしまうことにさきほど気が付きました。これをhttps://からしかアクセスできないようにするにはどうすればいいのでしょうか。もしくはphpMyAdminがhttps://下にある必要はないのでしょうか?? 超初歩的な質問であることは重々承知なのですが、 どなたかどうかよろしくお願いいたします。

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

  • ベストアンサー
  • _chihiro_
  • ベストアンサー率63% (26/41)
回答No.2

phpMyAdminがhttps://下で利用できるならば利用した方がよいでしょう。 > このphpMyAdminがある領域にパスワード制限はかけたものの、http://からでもアクセスできてしまうことにさきほど気が付きました。 もしユーザーがURLを直叩きしてhttps://のsを消した場合、http://でも通信できてしまいます。 どうしてもhttps://での利用にしたい場合は、phpの$_SERVER["HTTPS"]というスーパーグローバル変数の中身を確認して、https://アクセスでなければリダイレクトさせるという方法もありますよ。

参考URL:
http://jp.php.net/manual/ja/reserved.variables.php#reserved.variables.server
oakenshaw
質問者

お礼

ご回答を元にいろいろ調べた結果、 $_SERVER['HTTPS']がonで$_SERVER['SERVER_PORT']が443でなければ https://へリダイレクト、という方法で解決することができました。 的確かつ具体的なご回答をありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

ご自分がhttpでアクセスしないように気をつければいいことですが、自信がないようであればNo.2で_chihiro_さんが書かれているように$_SERVER["HTTPS"]をチェックするようにすればいいと思います。 #私だったら・・Bookmarkにhttpsで入れてしまうし、気にしませんけどね。

oakenshaw
質問者

お礼

そこまで神経質になる必要はないのですね。 疑問が解けてすっきりしました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

apacheの設定もいじれるんだったら /etc/httpd/conf/周りにあるSSL設定の書いてある所に配置しましょう でないと通信が平文で流れて解析されたら一大事です。 必ずしもhttps以下でなくてもいいのです。ですがセキュリティの観点からいえばNG

oakenshaw
質問者

お礼

セキュリティ的に完全でないということがわかって安心しました。 ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • レンタルサーバのSSL

    現在、ロリポップでサーバをレンタルしています。 SSLでのセキュアなフォームをおきたいと考えているのですが、初めてなもので質問させて頂きます。 私のドメインをhttp://www.AAA.comとします。 SSLのきくメールフォームをレンタルし、http://www.AAA.comからレンタルしたメールフォームのサイトへリンクする。そのサイトのフォームから入力された内容はレンタルメールフォーム側のサーバに蓄積される。そこからデータをエクスポートするのは可能だとします。エクスポートしたデータを自分のレンタルしているサーバのDBに自動で入れたいのですが、これは手動じゃなきゃ無理なのでしょうか。 ※SSLを使わなければ、自分のレンタルしているサーバ内でフォームを作り、DBに直接送信できるのですが・・・。 ※SSLをgeotrust等で独自に取り、レンタルサーバで使用する手もあるのですがこれでは費用が高く付いてしまう・・・。 (1)http://www.AAA.com→レンタルメールフォームで送信→レンタルメールフォーム内のDBに蓄積→ローカルにエクスポート→http://www.AAA.comのDBにインポート ではなく、 ↓ (2)http://www.AAA.com→レンタルメールフォームで送信→http://www.AAA.comのDBにインポート と手動を省ければと考えています。 ロリポップはSSL不可です。 チカッパ(http://chicappa.jp/)などは共用SSLがありますが、この共用SSLが利用可のレンタルサーバでは(2)が可能と考えてよろしいのでしょうか? SSL可でレンタルしたサイト→レンタルしたサイト以下にあるオリジナルのメールフォーム→SSL可でレンタルしたサイトのDB といった具合に。 どなたか経験あるかたいらっしゃいますでしょうか? ご教示お願いいたします。

  • SSL

    初めまして。 ネット事業を運営予定のものです。 お問い合わせフォームや注文フォームなどをレンタルしたいのですが必ずSSL対応の物にした方が良いのですか? SSL非対応では高い確率で外部に流失するおそれと言う事はあるのでしょうか? また皆様が利用しているレンタルフォームでオススメなどありますでしょうか? 宜しくお願いします。

  • phpMyadminの文字化け

    さくらレンタルサーバを利用し、問合せフォームを作成しています。 問合せ内容をプロシージャを使いデータベースに格納しています。 タイトルにもありますようにデータベース格納後phpMyAdminで見た際に文字化けしてしまいます。 半角数値は見れるのですが、日本語は文字化けしてしまいます。 環境は以下の通りです。 ■さくらレンタル DB:MySQL クライアントのバージョン: 5.1.30 MySQL の文字セット: UTF-8 Unicode (utf8) MySQL 接続の照合順序 utf8_general_ci テーブルの照合順序utf8_general_ci カラムの照合順序utf8_general_ci ■Web サーバ Apache(バージョン不明 phpMyAdminのバージョン3.2.3 PHPバージョン5.2.11 データベース接続方法 PDOを使用し、プロシージャーをコールしています。 プロシージャーのクリエイト文では文字コードのセットはしていません。 phpMyAdminからプロシージャを直接コールすると文字化け致しません。 $this->dbh = new PDO(DB_NAME, DB_USER, DB_PASSWORD); $this->dbh -> query("SET NAMES UTF-8;"); 上記で接続しています。 ■PHPファイル phpのエンコードはShift-JIS メタタグは以下の用にしています <meta http-equiv="Content-Type" content="text/html; Shift_JIS" /> <meta http-equiv="Content-Language" content="ja" /> プロシージャのパラメーター設定時に mb_convert_encoding($_SESSION['other'],"UTF-8") セッションの値をUTF-8にエンコードして設定しています。 上記のようになっております。 メタタグでUTF-8に設定すればいいのでしょうか? 設定またはエンコード方法で解決できるのでしょうか? 以上、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • SSLが有効なページ

    SSLが有効なページ SSLを使ってサイトを作製しようとしています。 初歩的な質問なのですが、非SSLのページ http://www.domein.co.jp/a.htmlにフォームがあって、 https://www.domein.co.jp/b.phpへPOSTする場合はSSL通信ではないと考えていいのでしょうか? SSL通信にするにはhttps://www.domein.co.jp/a.htmlとしなければならないのでしょうか? あるいは別のドメイン https://www.domein2.co.jp/a.htmlから https://www.domein.co.jp/b.phpへPOSTすることは可能でしょうか? 可能だとしたらこれはSSL通信でしょうか?

  • phpMyAdminにアクセスできない

    こんにちは、質問させてください。 Ubuntu11にMySQLとPHP5、Apache2がインストールされている状態(PHP5は初期状態でインストール済みでした)で、phpMyAdminをインストールしましたが、phpMyAdminに正しくアクセスできませんでした。 環境は以下の通りです。 ・サーバマシン(Ubuntu11)/ローカルIP:192.168.0.3 ・クライアントマシン(Windows XP Professional)/ローカルIP:192.168.0.2 手順は以下の通りです。 $ sudo aptitude install phpMyAdmin ※インストール中に出てきたコンフィグ画面ではapache2を選択しました。 しかし/var/www/以下を確認してみると、phpMyAdminが作成されておりませんでした。 /usr/share/phpmyadminは存在していましたので、そこに対するシンボリックリンクを作成しました。 $ cd /var/www $ sudo ln -s /usr/share/phpmyadmin phpMyAdmin $ ls -l lrwxrwxrwx 1 root root 21 2011-07-21 03:40 phpMyAdmin -> /usr/share/phpmyadmin さらに、phpMyAdminに外部から接続されない様に、apache2の設定ファイルを以下の様に作成しました。 $ sudo vi /etc/apache2/phpmyadmin.conf 【編集内容ここから】 Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> order deny,allow deny from all allow from 127.0.0.1 allow from 192.168.0.0/255.255.255.0 </Directory> 【編集内容ここまで】 編集後、apache2を再起動しました。 $ sudo /etc/init.d/apache2 restart それからhttp://192.168.0.3/phpMyAdminに接続を試してみたのですが、"404 Not Found"が返答されるのみでした。 # シンボリックリンクの作成が余計だったのかなと思い、これを削除してアクセスしましたが、やはり"404 Not Found"が返ってきます。 なお、/var/www/の他のファイルにはアクセス可能です。 http://192.168.0.3/index2.html 問題点がお分かりの方がいらっしゃいましたら、解決策をご教授いただけると幸いです。 以上、よろしくお願いします。

  • SSLについて

    今回、とある企業のHP作成から管理まで全てを任されることになりました。 ポスグレとPHPを使用してグループウェアを作る仕事を始めて4年になりますが、セキュリティやサーバーに関しては別に担当がいたので、お恥ずかしい事に素人同様で知識がありません。 物凄く初歩的な質問ですが、宜しくお願いしますm(_)m また、お門違いの質問でしたらご指摘下さい。 個人情報保護法により、SSLの導入を迫られています。 情報を暗号化するのはナントナク分かるのですが、HTMLやPHPを使用するにあたり特別何かする必要はあるのでしょうか? 使用予定のレンタルサーバーにはSSLが使用できるオプションが付いているので申し込めば良いだけのようですが、レンタルサーバーの契約とベリサインへの申請だけで、特別何もしなくて(フォーム送信時にリンク先を変えるとか…)良いのでしょうか?

  • phpMyAdmin - 2.8.2.4で『EUC-JP』を使うには?

    レンタルサーバでPHP+MySql(EUC-JP)で構築しています。 phpMyAdmin - 2.6.3-pl1 では、ja-eucがデフォルトだったのでphpやDBをEUC-JPで設計しました。DBにインポートするテキストファイルもEUC⇒EUCなのでphpMyAdmin上でも、ブラウザ上(php)でも問題なく表示されていました。 しかし、 phpMyAdmin - 2.8.2.4 では、ja-eucが無くなってしまったため、 仕方なくUTF8でテキストを作成し、UTF8⇒EUCインポートを実行しました。 すると、phpMyAdmin上では普通に表示されるものの、 php(html)では完全に文字化けしてしまいます。 文字化けしているのはデータベースから取得した値のみです。 ソースファイルは全く同じで、異なるのはphpMyAdminのバージョンだけなのでどう対処すればよいかわかりません。 どうやったら文字化けせずに表示できるでしょうか?

    • ベストアンサー
    • PHP
  • SSLについて

    ユーザの入力した内容をDBに登録するというページを作成したいのですが、入力項目が個人情報のため、SSLによる暗号化通信を行いたいと思っています。 そこで質問なのですが、SSLでないサイトAにある入力フォームから、SSLサイトBのCGIでDB登録の処理を行う場合、暗号化は有効になっているのでしょうか? それとも、入力フォームのあるサイトもSSLにしないとだめでしょうか? 基本的な質問でお恥ずかしいのですが、ご存知の方教えてください。 よろしくお願いいたします。

    • 締切済み
    • CGI
  • 問い合わせフォームをSSL対応させたい

    HTMLに関しては素人以上の知識がありますが、プログラム言語やセキュリティに関しては全くの素人です。 現在サイトからの問い合わせフォームに入力された個人情報を含む情報がCGIによりメールで届くようになっているのですが、 これをきちんとSSL対応させたいと思い、認証局からの証明書は取得しました。レンタルサーバーを利用していますが、SSLには対応しています。 さてここからなのですが、このまま入力フォームのあるページに HTTPSからアクセスしてみたところで、入力された情報がメールで送信されるのでは サーバ→メーラー間の情報送信は暗号化されないのですよね。 いろいろ調べた結果、phpMyAdminを利用してデータベースを構築し、 フォームに入力されたデータをサーバー上のデータベースに格納、 WEBブラウザで管理画面に入りデータを閲覧する、という方法で これを実現するのが正解なのか、というのが自分の中での結論になりつつあります。 しかしそれを自分の力で解決するにはあまりに難しく非現実的そうです。 そこでお伺いしたいのですが、私のこの結論は考えすぎでしょうか? MacOSXでEntourageを使用しており、SSLのオン/オフが切り替えられるようなのですが、 これをオンにするだけで問題は解決されるのでしょうか。 (実際オンにしてもタイムアウトでメールは受信できなかったのですが) コストがかけられないのでなんとか自分の手で解決したいのですが、 調べていくうちに混乱してしまい途方に暮れています。 他にもっと簡単な方法があるとか、まずは何から勉強するのが良いのかなど、 どんなことでもいいのでアドバイスをいただければ幸いです。 サーバーシステムはLinuxでPHPのバージョンは4.4.1です。 よろしくお願いいたします。

  • 独自SSLが使えるサーバにするか共有SSLにするか

    わざわざ高い独自ドメインのSSL証明書をお金を出して取得し、独自SSLが使えるレンタルサーバを借りるべきか、SSL証明書は取得せず、共有SSLが使えるレンタルサーバを借りるか迷っています。 はっきりいってお客様サイトの信頼度の問題だというのは分かっています。 しかしお客様の予算がほとんどないことを前提にした質問で、ちょっとした小さな美容室さんや、飲食店さんなどが対象のお客様です。 独自SSLが使えるレンタルサーバは月額5000円以上もするようで、そうでなくともSSL証明書自体の取得にお金が別途かかることも考えるとちょっとしたホームページの制作をやっている業者さんは お客様が毎月負担するレンタルサーバ(SSLにかける費用)などはいかがなものでしょうか? 私としては月額525円~1000円を考えています。(月額5000以上も出してサイトを運用しようと考えてくれるお客様層ではないので困っています) なお、サイトでSSLが必要なのは、お問合せフォーム(個人情報)やログイン認証(PHPのPEAR)くらいです。 よほどお客様の予算がなければ、SSL無しのお問合せフォームでも考えようかまで思っています。 独自ドメインでの共有SSLが使えるらしい「さくらレンタルサーバ(月額500円)」を考えましたが、 共有SSLだとURLが (1)https://secureNNN.sakura.ne.jp/独自ドメイン/ (2)https://初期ドメイン/ の(1)か(2)のいずれかになってしまい アドレス的に格好悪いのと、(1)だとセキュリティ的にも問題があるようです。 【求めているレンタルサーバ機能・条件】 ・WEB、メール共用で20GB程度はあるサーバ ・PHPが使える ・Perlが使える ・MySQLが使える(データベースは20個以上可能なもの) ・マルチドメイン可(独自ドメイン10個以上設定可能) ・1つの独自ドメインに対しサブドメインを10個以上設定できるもの ・1つの独自ドメインに対しメールアドレス無制限。 ・さくらレンタルサーバ(スタンダードプラン) ★できれば独自ドメインでの独自SSLが使いたい 【検討中のレンタルサーバ・問題点】 ・ロリポップ(チカッパプラン 初期費用1575円+月額525円) ★独自ドメインでの共有SSL利用不可 ・さくらサーバ(スタンダードプラン 初期費用1000円+月額500円) ★独自ドメインでの共有SSL通信可 但し、https://独自ドメイン名とはならならず https://secureNNN.sakura.ne.jp/独自ドメイン/ か https://初期ドメイン/ となる。 長々とすみません。 ご教授のほどよろしくお願い致します。