0

我制作了一个用户可以注册的 php mysql 网站。我想修改 htaccess 文件(或任何 php 代码来执行此操作),以便只有以 ip xyzv(其中 v 变化)开头的连接可以注册到该站点,但每个人都可以查看该站点的公共数据。由于我在共享的大学网络中,大多数用户将通过无线连接访问该网站。[这是注册地址][1]

http://localhost/register.php

现在它不在服务器上,所以你可以参考这个网址。

4

4 回答 4

1

在PHP中,可以使用$_SERVER['REMOTE_ADDR']获取当前用户的IP地址。只需将此值与您的“批准”地址进行比较。例如,如果您想检查用户的 IP 是否以 开头10.10,您可以这样做:

$allowed = (strpos($_SERVER['REMOTE_ADDR'], "10.10") == 0);

但是,我强烈反对使用基于 IP 的访问控制,除非您确定“有效”IP 地址不会改变。由于多个用户可能具有相同的 IP 地址(由于网络地址转换)并且 IP 地址通常可以重新分配,因此该解决方案对于任何现实世界的系统都不是很安全。(电子邮件令牌、批准的注册请求或注册码会好得多。)

于 2012-09-20T17:47:05.573 回答
0

If you want to use htaccess, you add this to the htaccess file in your document root, preferably above any other rewrite rules you may have in there:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^x\.y\.z\.
RewriteRule ^register\.php - [L,F]
于 2012-09-20T17:56:02.723 回答
0

我建议您$_SERVER['REMOTE_ADDR']改为检查 PHP 的值。

http://php.net/manual/en/reserved.variables.server.php

于 2012-09-20T17:47:17.823 回答
0

指定您的注册页面(作为目录或位置),您可以将其锁定:

order deny,allow
allow from x.y.z.
于 2012-09-20T17:47:33.727 回答