Expression Web、アクティブ サーバー ページ、および Access データベースを使用してパスワードによって保護されている Web ページを作成する方法

文書翻訳 文書翻訳
文書番号: 928706 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

ステップ バイ ステップ方法について説明 Microsoft Expression Web、Active Server Pages (ASP)、およびを使用してパスワード保護を提供する、単純な Web ページ ソリューションを作成します Microsoft Access データベース。
  • この資料のサンプル コードは、、Expression Web の組み込みセキュリティ機能を置き換える設計されていません。 このサンプルは、Web サイトを参照するユーザーに対してのみ単純なセキュリティ メカニズムを提供するように設計されています。 したがって、Expression Web セキュリティは、ユーザー名とパスワードは、Access データベースに追加されると統合されていないいます。
  • のユーザー名とパスワードはで入力をテキスト形式でインターネット経由で転送されます。 セキュリティを強化するには、Secure Sockets Layer (SSL) 暗号化を使用できる Web サーバーを使用することをお勧めします。 詳細については、Web サイト管理者またはインターネット サービス プロバイダー (ISP) 問い合わせてをください

概要

Expression Web、ASP、および Access データベースを使用してパスワードによって保護されている Web ページを作成する方法について説明します。

詳細

Expression Web で ASP 機能を使用します。

Expression Web で ASP 機能を使用する前に、Web サーバーまたは ASP をサポートしているディスク ベースの Web にアクセスしなければなりません。

Expression Web で新しい Web サイトを作成します。

メモ 次の使用例については、前提は、Web サイトのログオン名とログオン サイトが Web サイトのルートの下にサブ Web として作成されるとしています。 場合は、ログオン、以外の名前を使用したり、別の場所で、Web サイトを作成した、この資料全体の手順を適宜変更をする必要があります。

Expression Web で新しい Web サイトを作成するには、次の手順を実行します。
  1. Expression Web を開始します。
  2. [ ファイル ] メニューの [ 新規作成 、[クリックして Web サイト。
  3. 新規作成 ] ダイアログ 空の Web サイト の Web サイト ] タブで。
  4. [ 新しい Web サイトの場所を指定 ] ボックスに、次の形式で、新しい Web サイトを保存する場所を入力します。

    http:// サーバー名 ログオン/
  5. [ OK] をクリックします。
新しい空 Web サイトをログオンと呼びますが、Expression Web で開かれます。

データベースを作成します。

Microsoft Office Access 2003 などのデータベース プログラムを使ってユーザー名とパスワードを保存するデータベースを作成できます。

メモ Access 2003 以外のデータベース プログラムを使用してデータベースを作成する場合は以下の手順を適宜変更します。

データベースを作成するには、以下の手順を実行します:
  1. Access 2003 を起動します。
  2. [ ファイル ] メニューの [ 新規作成 を] をクリックします。
  3. タスク ペインで 空のデータベース をクリックします。
  4. logon.mdb ファイル名を入力し、 作成 を実行します。
  5. オブジェクト ペインで [ テーブル ] をクリックし、 新規作成 します。
  6. [ デザイン ビュー [ OK] をクリックします。
  7. フィールド名 ] 列の行、最初に、 UID 入力します。
  8. [対応する データ型 ] 列、 テキスト ] をクリックし、ツールバーの [ 主キー ] </a0> ボタン。

    メモ 主キー のボタンは、鍵の記号として表示されます。
  9. 2 番目の フィールド名 ] 列の行で PWD を入力し、 データ型 ] 列の 2 行目の テキスト
  10. [ ファイル ] の [ 保存 ] をクリックします。
  11. [ テーブルの名前 ] ボックスで tblUsers 、入力を [OK] をクリックします。
  12. [ 表示 ] メニューの [ データシート ビュー ] をクリックします。
  13. [ UID 列に、 testuser を入力します。
    [ PWD ] 列に、 パスワード を入力します。
  14. [ ファイル ] メニューの [ 閉じる をクリックして終了 Access 2003。
メモ セキュリティ上の理由から、パスワードは大文字、小文字、および数字を組み合わせてに制限されます。

データベースをインポートする

ストアのユーザー名とパスワード Expression Web を作成したデータベースをインポートします。 これを行うには、次の手順を実行します。
  1. 、Expression Web でログオン Web サイトを開いた [ ファイル ] メニューの [ インポート をクリックして [ ファイル ] をクリックします。
  2. [ ファイルの追加 ] をクリックして、および、作成した logon.mdb ファイルをクリックして [ 開く ] をクリックします。
  3. [ 変更 ] をクリックし、 Web 内のファイルの位置 、テキスト ボックスに _private/logon.mdb を入力して [OK] をクリックします。

    メモ 「プライベート」パスにファイルの前にアンダースコア文字 (_) があります。
  4. データベース ファイルをインポートする [OK] をクリックします。
  5. このインポート ファイルのデータベース接続を作成メッセージが表示は場合は、 いいえ をクリックします。

ASP ページを作成する

このサンプルを使用するには、いくつかのファイルを作成する必要があります。 最初に、Web サイト]、「安全でない」のページおよびテスト、ログオン Web ページで、保護されているページのホーム ページを作成し、ログオン インクルード ファイル。

マイクロソフトは提供プログラミング言語の使用方法の一例としてのみ、姿表現または暗黙に提供します。 これはに含まれますに、黙示または商品性および特定目的に対する適合性の黙示保証は一切制限はありません。 この資料ではであると見なすは、例示されているプログラミング言語を作成したりプロシージャをデバッグするためのツールと使い慣れた。 マイクロソフト サポート エンジニア、特定のプロシージャの機能の説明に役立ちます。 ただし、これらの追加機能を提供する手順を特定の要件を構築例変更は行って。

ホーム ページを作成する

このページはサイトの既定のページとして機能します。 および保護された Web ページを作成するが、セキュリティで保護されていないページへのリンクが含まれています。 ホーム ページを作成するには、以下の手順を実行します:
  1. [Expression Web] で、 ファイル メニューの [ 新規作成 ] をクリックを ページ をクリックします。
  2. [ 新規作成 ] ダイアログ ボックスで HTML ページ ] タブで、[を [OK] をクリックします。
  3. ドキュメント ウィンドウのフッター領域で [コード ビューを表示する コード ] をクリックします。
  4. Web ページ内のすべての HTML コードを選択し、削除します。
  5. 入力するか、Web page.
    <% @language="vbscript" %>
    <html>
    <head><title>Home Page</title></head>
    <body>
    <h3>Home Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <ul>
     
    <li><a href="passwordprotect.asp">Password-Protected Page</a></li>
    <li><a href="nonsecure.asp">Nonsecure Page</a></li>
    
    </ul>
    </body>
    </html>
  6. ログオン Web サイトのルート フォルダーに default.asp としてページを保存します。
  7. [ ファイル ] の [default.asp] Web ページを閉じます 閉じる を] をクリックします。

セキュリティで保護されないページを作成する

だれでも参照できる通常の ASP ページを作成します。 セキュリティで保護されないページを作成するには、以下の手順を実行します:
  1. [Expression Web] で、 ファイル メニューの [ 新規作成 ] をクリックを ページ をクリックします。
  2. [ 新規作成 ] ダイアログ ボックスで HTML ページ ] タブで、[を [OK] をクリックします。
  3. ドキュメント ウィンドウのフッター領域で [コード ビューを表示する コード ] をクリックします。
  4. Web ページ内のすべての HTML コードを選択し、削除します。
  5. 入力するか、Web page.
    <% @language="vbscript" %>
    <html>
    <head><title>Nonsecure Page</title></head>
    <body>
    <h3>Nonsecure Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a></p>
    </body>
    </html>
  6. ログオン Web サイトのルート フォルダーに nonsecure.asp としてページを保存します。
  7. [ ファイル ] の [nonsecure.asp] Web ページを閉じます 閉じる を] をクリックします。

保護されたページを作成します。

コード ビューの上部に次のコードを追加する必要がありますに点を除いてこの手順でページは以前は、作成したセキュリティで保護されていない、Web ページと同じ:
<!--#include virtual="/logon/_private/logon.inc"-->
そのページを logon.inc ファイルを作成するにパスワードによって保護が ASP ページに次のコード行を追加すると、します。 パスワードによって保護されている Web ページを作成、次の手順に従います。
  1. [Expression Web] で、 ファイル メニューの [ 新規作成 ] をクリックを ページ をクリックします。
  2. [ 新規作成 ] ダイアログ ボックスで HTML ページ ] タブで、[を [OK] をクリックします。
  3. ドキュメント ウィンドウのフッター領域で [コード ビューを表示する コード ] をクリックします。
  4. Web ページ内のすべての HTML コードを選択し、削除します。
  5. 入力するか、Web page.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Password-Protected Page</title></head>
    <body>
    <h3>Password-Protected Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a>
    </body>
    </html>
  6. ログオン Web サイトのルート フォルダーに passwordprotect.asp としてページを保存します。
  7. [ ファイル ] の [passwordprotect.asp] Web ページを閉じます 閉じる を] をクリックします。

ログオン ページを作成する

ログオンを作成するページのような標準的な Windows ログオン] ダイアログ ボックス。 保護された Web ページにアクセスしようとするユーザーは、このページに、ユーザー名とパスワードを入力する送信されます。 ログオン ページを作成するには、以下の手順を実行します:
  1. [Expression Web] で、 ファイル メニューの [ 新規作成 ] をクリックを ページ をクリックします。
  2. [ 新規作成 ] ダイアログ ボックスで HTML ページ ] タブで、[を [OK] をクリックします。
  3. ドキュメント ウィンドウのフッター領域で [コード ビューを表示する コード ] をクリックします。
  4. Web ページ内のすべての HTML コードを選択し、削除します。
  5. Type or paste the following HTML code in the Web page.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <%
      ' Was this page posted to?
      If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
        ' If so, check the username/password that was entered.
        If ComparePassword(Request("UID"),Request("PWD")) Then
          ' If comparison was good, store the user name...
          Session("UID") = Request("UID")
          ' ...and redirect back to the original page.
          Response.Redirect Session("REFERRER")
        End If
      End If
    %>
    <html>
    <head><title>Logon Page</title>
    <style>
    body  { font-family: arial, helvetica }
    table { background-color: #cccccc; font-size: 9pt; padding: 3px }
    td    { color: #000000; background-color: #cccccc; border-width: 0px }
    th    { color: #ffffff; background-color: #0000cc; border-width: 0px }
    </style>
    </head>
    <body bgcolor="#000000" text="#ffffff">
    <h3 align="center">&#xa0;</h3>
    <div align="center"><center>
    <form action="<%=LOGON_PAGE%>" method="POST">
    <table border="2" cellpadding="2" cellspacing="2">
      <tr>
        <th colspan="4" align="left">Enter User Name and Password</th>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="left">Please type your user name and password.</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Site</td>
        <td align="left"><%=Request.ServerVariables("SERVER_NAME")%> &#xa0;</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">User Name</td>
        <td align="left"><input name="UID" type="text" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Password</td>
        <td align="left"><input name="PWD" type="password" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="center"><input type="submit" value="LOGON"></td>
        <td>&#xa0;</td>
      </tr>
    </table>
    </form>
    </center></div>
    </body>
    </html>
  6. ログオン Web サイトのルート フォルダーに logon.asp としてページを保存します。
  7. [ ファイル ] の [logon.asp] Web ページを閉じます 閉じる を] をクリックします。

ログオン インクルード ファイルを作成する

インクルード ファイルは、ユーザー名とパスワード機能を提供します。 保護された Web ページとログオン Web ページの両方で使用できます。 ログオン インクルード ファイルを作成するには、以下の手順を実行します:
  1. [式の Web デザイナーで、 ファイル メニューの [ 新規作成 ] をクリックを ページ をクリックします。
  2. [ 新規作成 ] ダイアログ ボックスで HTML ページ ] タブで、[を [OK] をクリックします。
  3. ドキュメント ウィンドウのフッター領域で [コード ビューを表示する コード ] をクリックします。
  4. Web ページ内のすべての HTML コードを選択し、削除します。
  5. 入力するか、Web page.
    <%
      ' Do not cache this page.
      Response.CacheControl = "no-cache"
    
      ' Define the name of the users table.
      Const USERS_TABLE  = "tblUsers"
      ' Define the path to the logon page.
      Const LOGON_PAGE   = "/logon/logon.asp"
      ' Define the path to the logon database.
      Const MDB_URL      = "/logon/_private/logon.mdb"
    
      ' Check to see whether you have a current user name.
      If Len(Session("UID")) = 0 Then
        ' Are you currently on the logon page?
        If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
          ' If not, set a session variable for the page that made the request...
          Session("REFERRER") = Request.ServerVariables("URL")
          ' ...and redirect to the logon page.
          Response.Redirect LOGON_PAGE
        End If
      End If
    
      ' This function checks for a username/password combination.
      Function ComparePassword(UID,PWD)
        ' Define your variables.
        Dim strSQL, objCN, objRS
        ' Set up your SQL string.
        strSQL = "SELECT * FROM " & USERS_TABLE & _
          " WHERE (UID='" & ParseText(UID) & _
          "' AND PWD='" & ParseText(PWD) & "');"
        ' Create a database connection object.
        Set objCN = Server.CreateObject("ADODB.Connection")
        ' Open the database connection object.
        objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _
          Server.MapPath(MDB_URL) & "; uid=admin; pwd="
        ' Run the database query.
        Set objRS = objCN.Execute(strSQL)
        ' Set the status to true/false for the database lookup.
        ComparePassword = Not(objRS.EOF)
        ' Close your database objects.
        Set objRS = Nothing
        Set objCN = Nothing
      End Function
    
      ' This function restricts text to alpha-numeric data only.
      Function ParseText(TXT)
        Dim intPos, strText, intText
        For intPos = 1 TO Len(TXT)
          intText = Asc(Mid(TXT,intPos,1))
          If (intText > 47 And intText < 58) Or _
             (intText > 64 And intText < 91) Or _
             (intText > 96 And intText < 123) Then
              strText = strText & Mid(TXT,intPos,1)
          End if
        Next
        ParseText = strText
      End Function
    %>
  6. ログオン Web サイトの _private フォルダーに logon.inc としてページを保存します。
  7. [ ファイル ] の [logon.inc] Web ページを閉じます 閉じる を] をクリックします。

ログオン Web サイトをテストする

これを行うには、次の手順を実行します。
  1. Expression Web] で [フォルダー一覧 ] ペインの Default.asp ファイル を右クリックし、 ブラウザーでプレビュー します。

    Web ブラウザにサンプルのホーム ページが読み込まれ、ログオンしていないことを示すメッセージが表示されます。
  2. セキュリティで保護されていないページ リンクをクリックします。

    ページが読み込まれ、ログオンしていないことを示すメッセージが表示されます。 既定のページに戻ります 既定に戻す リンク クリックします。
  3. パスワードで保護されたページ リンクをクリックします。

    logon.asp ページは、保護されたページの代わりに読み込まれます。
  4. ユーザー名 ] testuser を入力して [ パスワード ] ボックスに、 パスワード を入力して [ ログオン ] をクリックします。

    、保護されたページが表示され testuser としてログオンしていることを示します。 既定のページに戻ります 既定に戻す リンク クリックします。 ホーム ページの読み込みおよび testuser としてログオンしていることを示します。
  5. セキュリティで保護されていないページ リンクをクリックします。

    ページを読み込むし、 testuser としてログオンしていることを示します。

ログオン Web サイトをカスタマイズする

ログオンの使用例の Web サイトは、次の方法でカスタマイズできます。
  • ユーザー名とパスワードを追加します。
    データベースで Expression Web を開くできし tblUsers テーブルにユーザーを追加できます。
  • パスワードによって保護されている Web ページはその他を作成します。
    Web サイト内のパスワードによって保護されている別の Web ページを作成にする必要があります、.asp ファイル名拡張子を Mypage.asp などを使用してファイルを保存してから非常にコード ビューの上部に、次の 2 つの行を追加:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    1 行目、スクリプト言語の Microsoft Visual Basic スクリプト版 (VBScript) を使用していることを指定します。 2 行目は、ユーザー名を含むあり、ログオンからパスワード機能が以前作成したファイルを含めます。

関連情報

FrontPage 2003、アクティブ サーバー ページ、および Access データベースを使用してパスワードによって保護されている Web ページを作成する方法の詳細についてはをクリックして以下「サポート技術情報」(Microsoft Knowledge Base) 資料を参照。
825498FrontPage 2003、アクティブ サーバー ページ、および Access データベースを使用して、パスワードで保護された Web ページを作成する方法

クライアントとサーバー間の HTTP 通信を保護する方法については、記事の「サポート技術情報」(Microsoft Knowledge Base) を表示する次の資料番号をクリックします。
299525IIS 5. 0 と証明書の Server 2. 0 を使用して SSL の設定方法
299875IIS で SSL を実装する方法

Active Server Pages (ASP) をデータベースに統合する方法については、記事の「サポート技術情報」(Microsoft Knowledge Base) を表示する次の資料番号をクリックします。
299987データベースと ASP セッションを使用して ASP セキュリティを実装する方法
300382IIS で ASP ページからデータベース接続の作成方法
318287FrontPage 2002 で Active Server Pages (ASP) を使用する内容

プロパティ

文書番号: 928706 - 最終更新日: 2007年4月17日 - リビジョン: 1.1
この資料は以下の製品について記述したものです。
  • Microsoft Expression Web [1.0]
キーワード:?
kbhowto kbexpertiseinter kbmt KB928706 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:928706
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com