0

美好的一天,伙计们,

我正在创建一个将在我的 Web 服务器上运行的系统。问题是当用户获得他们的帐户详细信息(用户表中的用户名和密码)然后可以在公司以外的任何地方打开它。我不知道如何创建这个,但我有一些方法:

  1. 每台计算机都有各自的 IP 地址。我想要的是该系统只有在从公司网络内部访问而不是从外部访问时才能工作。你能帮我解决这个问题吗?

  2. 除了第一点,如何在没有用户登录时锁定表并在任何用户登录时解锁表。

我正在使用 mysql 数据库、php、phpmyadmin ......你能帮忙吗?

4

2 回答 2

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 回答
0

实际上第一个应该在 PHP 中完成,因为您对数据库的请求将仅通过 Web 服务器发送(希望如此)

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

但是,如果您有直接的 mysql 访问权限,则限制登录名撤销所有其他授予选择 A_DATABASE_NAME.A_TABLE_NAME 到 'login'@'hostname'

对于2,您的意思是实际上不允许任何人在没有登录权的情况下访问数据吗?只需授予适当的授权。您的应用程序是唯一允许登录的应用程序

即 1. 您的数据库只能由 1 个登录帐户访问,只能通过 php 服务器访问 2. 将 db.privatetable 上的选择授予对外部网络可见的表 3. 不惜一切代价避免锁定

于 2012-07-25T09:32:19.323 回答