Webページのファイアウォールを設定する主な目的は、WebページのコンテンツまたはVBスクリプトに基づいて、さまざまな訪問者にさまざまなサービスを提供することです。ただし、Webページのソースコードはクライアントのブラウザで見ることができ、訪問者は使用されているユーザー認証方法を表示できます。これは単なるSurface Firewallです。 ASPは、Web上のクライアント/サーバー構造の中間層ですが、スクリプト言語(Javaスクリプト、VBスクリプトなど)で書かれていますが、プログラムコードはサーバーで実行され、動的なHTMLファイルのみが出力します。 ASPはクライアントで見ることができますが、ASPには特定の脆弱性があり、特定の措置を講じることでASPプログラムのソースコードを見ることができます。この時点で、ASPサーバーとSQL Serverの組み合わせにより、シンプルで効率的で信頼性の高いアプリケーションを設計できます。以下は、その設立プロセスの簡単な紹介です。
1.ログインを作成します
SQL Serverで訪問者のログインとパスワードを作成します。
2。ネットワークサーバーにデータベースDSNを作成します
コントロールパネルのODBCデータソースマネージャーを使用して、データベースのODBCデータリソース名DSNを作成して、データベースDSNを使用して将来特定のデータベースに接続できるようにします。
ODBCデータソースマネージャーは、3種類のDSN、つまりユーザーDSN、システムDSN、ファイルDSNを提供します。その中で、ユーザーDSNはWindowsレジストリに対応する構成情報を保存しますが、DSNを作成するログインユーザーのみが使用できます。システムDSNはシステムレジストリに関連する構成情報も保存しますが、ユーザーDSNとは異なり、システムDSNはサーバーにログインするすべてのユーザーが使用できるようにします。
上記の2つのデータベースDSNとは異なり、ファイルDSNは特定の構成情報をハードディスク上の特定のファイルに保存します。ファイルDSNは、サーバーにログインするすべてのユーザーが使用することができ、ユーザーログインがなくてもデータベースDSNへのアクセスを提供できます。さらに、ファイルDSNはハードディスクファイルに保存されるため、他のマシンに簡単にコピーできます。このようにして、ユーザーはシステムレジストリに変更を加えることなく、他のマシンで作成されたDSNを使用できます。
上記の3つのデータベースDSNのうち、ユーザーはシステムDSNまたはファイルDSNの移植性を好む場合、NTシステムの下でファイルアクセス権を設定することにより、より高いセキュリティ保証を取得できます。
新しいDSNを作成するには、ユーザーが最初に追加を選択し、次にユーザーがポップアップウィンドウで接続を確立し、リスト内のSQLサーバーエントリを選択するデータベースのタイプを選択します。ユーザーがファイルDSNを作成している場合は、次のボタンをクリックしてファイル名を入力し、次のダイアログボックスで作成するファイルDSNのパスを保存します。ユーザーがシステムDSNを確立した場合は、[完了]ボタンをクリックします。
データベースを選択した後、ユーザーはデータベースDSNを設定する必要があります。ユーザーは、データベースサービスを提供する特定のサーバーを選択し、ログインユーザー名とパスワードを設定し、ユーザーが接続するデータベースを選択する必要があります。
iii
以下に実装したいのは、シンプルなページファイアウォールの機能です。このページは、このユニットのイントラネットのユーザーがアクセスすることのみを制限します(イントラネットのIPアドレスが10.61.96.から10.65.97.までであると仮定します)。アクセスユーザーとパスワードを入力する必要があります。ここでは、リクエストオブジェクトのServerVariablesプロパティを使用し、それを使用して環境変数の値を取得する必要があります。
プログラムソースコード(firewall.asp)は次のとおりです。
| html> <ヘッド> meta http-equiv = content-type content = text/html; <メタ名=ジェネレーターコンテンツ= Microsoft FrontPage Express 2.0> <タイトルfirewall.asp </タイトル> </head> <ボディバックグラウンド=#800080> <% 'request.servervariables(remote_addr)を使用してIPアドレスを取得し、変数remoteIPに保存します remoteip = request.servervariables(remote_addr) stip = cstr(remoteip) IPアドレスの3番目のセグメントの値を取得し、それをストップに保存します i = 1〜2の場合 stip = right(stip、len(stip)-instr(1、stip、。))) 次 stip = left(stip、stip(1、stip、。)-1) 「IPアドレスの妥当性の検証と2つの側面を含むパスワードの検証:IPアドレスが要件を満たしている場合、IPアドレスが要件を満たしていない場合は、入力されたユーザー名とパスワードが正しいかどうかを確認します。 if(left(remoteip、5)<>10.61またはスタンプ96またはスタンプ>97) username = request.form(t1) パスワード= request.form(t2) fs = createObject(scripting.filesystemObject)を設定します set thisfile = fs.opentextfile(dsn.txt) db_loc = thisfile.readline thisfile.close cnstr = db_loc && uid = && username&;&pid =&password エラーの再開時に次に再開します cn = server.createobject(adodb.connection)を設定します cn.open cnstr err = 3709の場合、%> <P ><FONT COLOR =#FF0000>ユーザー:<%= username%>アクセス許可なし、またはパスワードが間違っています <フォーム方法= post> <P align = center>ユーザー名:<入力タイプ=テキスト名= T1サイズ= 20>パスワード:<入力タイプ=パスワードname = 20 ><入力タイプ=送信値=送信= b1 ><入力タイプ=リセット値=すべての名前を書き換えます= b2> </p> </form> <%end if cn.close Cn = Nothing%>を設定します <%else%> おめでとうございます、あなたは検証に合格し、このサイトのリソースを直接使用できます! <%end%> </ボディ> </html> |
IPアドレスなどの上記の情報をわずかに変更した後、プログラムを実行できます。
もちろん、上記は1つのページに実装されているファイアウォール関数にすぎません。 Webサイトに複数のページがある場合、セッション変数を設定してユーザーをマークし、次のページで判断を下すことができます。