• 締切済み

SSLと非SSLのページ切り替え

初歩的な質問かと思いますが、教えて下さい。 SSL対応のHPを作ろうと思っています。 最初のページで、よくあるSSLと非SSLの切り替えをしたいのですが、どういう風にしたらよろしいでしょうか? 例えばhttp://mail.yahoo.co.jp/のように、今の接続がHTTPSなら、httpのURLリンクを、HTTPならhttpsのURLリンクをとしたいのですが

  • HTML
  • 回答数2
  • ありがとう数0

みんなの回答

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

もし(サーバー側がHTTPS通信であれば) {   「標準」だけを有効にしなさい }そうでなければ{   「SSL」を有効にしなさい } と、あなたの実現したい言語で書くだけです。 yahoo.co.jpはヤフー独自のスクリプト言語で書かれていると思いますが、あなたのお使いのサーバーで利用できる言語(Perl,PHP,Java等)であれば、どんな言語でも構いません。

MRjoker
質問者

補足

ご回答有り難うございます。 やはり言語で対応するしかないのですね。ちなみに、Perlで記述するとしたら、どういった判断になりますでしょうか?ちょっと調べたのですが、通信状態(HTTP or HTTPS)の判断がどういった記述で実現できるのかがわかりませんでした。 追加で教えて頂けると助かります。 よろしくお願い致します。

noname#78418
noname#78418
回答No.1

普通に<a href="http://mail.yaoo.co.jp/">SSL非対応版</a>、<a href="https://mail.yahoo.co.jp/">SSL対応版</a>とリンクを張ればいいです... って、質問はそういうわけではありませんよね?SSL対応のページを作りたいということでしょうか。 でしたらベリサインのセキュアIDを取得しなければなりません。その前にサーバーを借りる必要があります。(契約プロバイダのものではダメな場合が多いです) ドメインを取得して、そのドメインに対してセキュアIDを発行してもらうと始めてSSLが使えるようになります。 なお、認証業者はベリサインでなくてかまいません。ただベリサインが名前としては一番知られています。

MRjoker
質問者

補足

ご回答ありがとうございます。やりたいのは、固定で2つのリンクを張るのではなく、表示上、今のアクセス状態がHTTPSであれば、HTTPのリンクを、今がHTTPであれば、HTTPSのリンクを、と切り替えたいのです。 例えば、mail.yahoo.co.jpにある、モードという部分でHTTPSであれば、標準だけが有効で、HTTPであれば、セキュア(SSL)が有効になっていますよね。こういう風に、今のアクセス状態が、HTTPかHTTPSかで、制御したい場合はどうしたら、よろしいのでしょうか?

関連するQ&A

  • HTTPS(SSL)通信とサーブレットについて

    ショッピングサイトなどで、買い物カゴに入れたあと、支払いするときにHTTPS(SSL)通信になりますが、この場合の仕組みがよくわかりません。 (1)これは、WebサーバをHTTP用とHTTPS(SSL)用の2台構成として、買い物カゴにいれるまでは、HTTP用のWebサーバでアクセスしておいて、支払いするときにHTTPS(SSL)用のWebサーバにアクセスさせることで実現してるのでしょうか? (2)ショッピングサイトを見ると、URLはHTTP://がHTTPS://に変わるだけで、サーバが変わっているようには見えませんが、これは、apacheなどのWebサーバが持つバーチャルホスト機能で実現してるのでしょうか? (3)アプリケーションを開発する側としては、HTTP通信を行うサーブレットはHTTP用のサーバに配置して、HTTPS(SSL)通信を行うサーブレットはHTTPS(SSL)用のサーバに配置しておいて、HTTPS(SSL)通信をしたいときは、HTTP用のサーバに配置したサーブレットから、HTTPS(SSL)用のサーバに配置したサーブレットを呼びだすだけでOKでしょうか? (4)また、(3)が正しい場合、サーブレットの配置さえ気にしていれば、特にHTTPS(SSL)用のプログラムを組む必要はないでしょうか? 調べたのですが、最初からHTTP(SSL)通信する場合の方法しか記載がなくて困っています。

  • 独自SSLに対応したら気をつけることって?

    今契約している独自ドメインに独自SSLを申し込もうと思っています。 独自SSLを使ったことがないので教えてください。 各html内には内部リンクを貼っています。 また、Ajax通信、get、postもしています。 全て相対パスで記述しているのですが、今運用中のサイトを独自SSLでアクセスしたら リンクも全て独自SSLでアクセスされるようになるのでしょうか? 現在運用中のサイト(このサイトでリンクされないようにhttpを大文字で記述しています) http://www.sample.com/ 今後は以下で運用する https://www.sample.com/ https://www.sample.com/にアクセスし、内部リンクで<a href="page1.html">にアクセスしたら https://www.sample.com/page1.htmlにアクセスされる、という認識で良いですか? また、jQueryのAjax通信でurl: "getText.php"みたいにアクセスしています。 そもそもhttps://www.sample.com/から内部リンクをたどっていけばhttpで運用していたときと 変わらず、リンクは相対パスのままで良いのでしょうか? 何か独自SSLだと気をつけないといけなようなことってありますか? サイトでやっているとしたら、Ajaxの他にファイルのアップロードとダウンロードもやっています。 ちなみにPHPでhtmlを生成しています。 どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • PerlからSSLのページを読み込みたい

    ここのページを参考にuse Socketでホームページを読み込むスクリプトを作りました。 http://ash.jp/perl/socket_http.htm httpは問題なく読み込めるのですが、httpsのページが読み込めません。 以下のように'http'を'https'に変更してみたのですが、エラーになります。 $port = getservbyname('https', 'tcp'); ■エラー Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please. ---- use Socketではsslのページを読めないのでしょうか? Perlでsslのページを読む方法はありますでしょうか?

    • ベストアンサー
    • Perl
  • 検索ロボットはSSLページも読みますか?

    yahoo、googleなどの検索ロボットはSSL(https)ページも読みに行っているのでしょうか? httpでもhttpsでも表示できるようなページの場合はどうなるのでしょうか? リンク元のURLがhttpsだとロボットはそれ以上読みに行かないとかあるのでしょうか? 分かる方、教えてください。

  • なぜ初めからSSLにしないのでしょうか?

    はじめまして。よろしくお願いします。 Yahoo!Japanのログインページは通常は標準(http)状態になっていますが、SSLの方が安全だからとワンクリックでSSL(https)への切り替えができるようになっています。 SSLの方が安全なのであれば、最初からSSLにしておけばいいのではないかと思うのです。ヤフー以外のサイトでも切り替えをできるようにしているサイトがありますが、どこも標準状態はSSLではありませんでした。 どうして、最初からSSLの状態にしておかないのでしょうか?

  • HTML記述法:HTTPSページ内のHTTPリンク

    HTTPSページのHTTPリンクを相対パスで記述する方法はあるのでしょうか? ホームページ作成をしています。 別ページへのリンクは、 基本相対パス(../imageなど)で記述されており、 ローカル環境でも動作を検証できます。 ただし、HTTPSページへのリンクは絶対パスで記述しています。 また、HTTPSページ内のHTTPページへのリンクは、 相対パスだとHTTPSでアクセスしてしまうため、 HTTPページへの絶対パスで記述しています。 そのため、HTTPSページをローカル環境で開いた以降の検証ができません。 HTTPSページ内のHTTPページへのリンクを、 相対パスで記述する方法はあるのでしょうか? どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • httpsページでないのに、鍵マークがついている場合

    こんにちは。 ウェブサイトの中で、個人情報の入力が必要なページ (登録系・応募系など)にはSSLのHTTPSから始まる ページにします。 ただそれらのページから他のページ(非SSL)に 移動する際にもずっとHTTPSになったままのページを よくみかけます。 保護されてないページに飛ぶとかの警告文が出て、 HTTPのページに移動するのが普通ですよね。 このように、SSLとは関係ないページなのに、 ずっとHTTPSになったままだと どのようなデメリットがありますか? (そのままにしてもいいのかな。。。?) 教えていただけたら大変ありがたいです。 どうぞ宜しくお願いします。

  • SSLのページに接続できません。

    はじめまして、btu720と申します。 質問なのですが、 最近BフレッツからUSENのBROAD GATE01に回線を変えたのですが、SSLのページに接続できなくなってしまいました。 (症状:hotmailのメールが見れない。Yahooオークションの評価ができない。など) しかし、ルータを挟まず接続するとSSLのページも見ることができます。(Bフレッツの時はルータ挟んでいてもSSLのページは見れました。) この場合はあきらめて、SSLのページに接続する際は、ルータを挟まず接続しか出来ないのでしょうか? 教えてください。よろしくお願いします。 スペックなど OS:Windows XP Pro セキュリティソフト:Norton AntiVirus 2005 ルータ:Webcaster 710 ファーム1.1 回線:USEN BROAD-GATE TypeV マンションタイプ

  • 異なるドメインでのセッション管理

    異なるドメインでのセッション共有のやり方を探しております。 具体的には HTTP と HTTPS のページがあり、 HTTP: http://yourdomain.com HTTPS: https://ssl.example.com と言った構成になります。 イメージしやすいのはEC等のASPです。 非SSLページは独自ドメインに対応させている所が多いが、 SSLページに関してはASP共通のSSLドメイン上で管理する事が多いと思います。 あれはいったいどの様にしているのでしょうか?

    • 締切済み
    • PHP
  • SSLページの鍵マークが表示されない

    SSLページを作成しています(ログインページなど)。 Windows2000/IE6環境で、作成したページを見ても鍵マークが表示されません。URLはhttps://…になっています。 しかし本来なら鍵マークが表示される箇所をクリックすると、証明書の情報が表示されSSL通信になっていることが確認できます。 ネットスケープの4.78と7.1では鍵マークが表示されています。 IEのバグなのかと思うのですが、鍵マークを表示するにはどうしたらよいか教えていただけないでしょうか? フレーム分割はしておりません。 また、絶対パスで非SSLページへのリンクが多数あります。 それが原因なのでしょうか? (試しに全てのリンクを相対パスに変更すると鍵マークが出たのですが、リンク先が全てSSLになってしまうのでこの対応では問題があります。) よろしくお願いいたします。

専門家に質問してみよう