我制作了一个用户可以注册的 php mysql 网站。我想修改 htaccess 文件(或任何 php 代码来执行此操作),以便只有以 ip xyzv(其中 v 变化)开头的连接可以注册到该站点,但每个人都可以查看该站点的公共数据。由于我在共享的大学网络中,大多数用户将通过无线连接访问该网站。[这是注册地址][1]
http://localhost/register.php
现在它不在服务器上,所以你可以参考这个网址。
在PHP中,可以使用$_SERVER['REMOTE_ADDR']
获取当前用户的IP地址。只需将此值与您的“批准”地址进行比较。例如,如果您想检查用户的 IP 是否以 开头10.10
,您可以这样做:
$allowed = (strpos($_SERVER['REMOTE_ADDR'], "10.10") == 0);
但是,我强烈反对使用基于 IP 的访问控制,除非您确定“有效”IP 地址不会改变。由于多个用户可能具有相同的 IP 地址(由于网络地址转换)并且 IP 地址通常可以重新分配,因此该解决方案对于任何现实世界的系统都不是很安全。(电子邮件令牌、批准的注册请求或注册码会好得多。)
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]
我建议您$_SERVER['REMOTE_ADDR']
改为检查 PHP 的值。
指定您的注册页面(作为目录或位置),您可以将其锁定:
order deny,allow
allow from x.y.z.