0

グッドデイガイズ、

Web サーバーで稼働するシステムを作成しています。問題は、ユーザーが自分のアカウントの詳細 (ユーザー テーブルからユーザー名とパスワード) を取得すると、それを社外のどこでも開くことができるようになることです。これを作成する方法はわかりませんが、ここにいくつかの方法があります:

  1. 各コンピューターには、それぞれの IP アドレスがあります。私が望むのは、システムが会社のネットワーク内からアクセスされた場合にのみ機能し、外部からはアクセスできないことです。これで私を助けてもらえますか?

  2. 最初に、ユーザーがログインしていないときにテーブルをロックし、ユーザーがログインしたときにロックを解除する方法について説明します。

私はmysqlデータベース、php、phpmyadminを使用しています...助けてください

4

2 に答える 2

0

DBへのリクエストはWebサーバー経由でのみ送信されるため、実際には最初のものはPHPで行う必要があります(うまくいけば)

                    print_r($_SERVER);
                    $myip = $_SERVER['REMOTE_ADDR'];

ただし、mysql に直接アクセスできる場合は、ログインを制限し、それ以外はすべて取り消し、A_DATABASE_NAME.A_TABLE_NAME の select を 'login'@'hostname' に許可します。

2 については、実際にはログイン権限がないとデータにアクセスできないということですか? 適切な許可を与えるだけです。あなたのアプリがログインを許可する唯一のアプリです

つまり、1. db は、php サーバーからのみアクセスできる 1 つのログイン アカウントによってのみアクセスできるようにする必要があります 2. db.privatetable の select を、外部ネットから見えるテーブルに許可します 3. ロックは絶対に避けてください

于 2012-07-25T09:32:19.323 に答える
0
$ip=$_SERVER['REMOTE_ADDR'];
if($ip=="xxx.xxx.xxx.xxx") //xxx.xxx.xxx.xxx will be your gateway ip
{
//your application code
}
于 2012-07-25T09:14:25.893 に答える