wordpress - Wordpress .. 如何将网站限制为 IP 或登录
问题描述
我正在尝试创建一个公司 Intranet 站点。我不想为该站点创建大量用户,并且宁愿只允许访问,如果您在 IP 上,或者如果在异地则您必须登录。这会将用户范围缩小到仅在家工作的用户等。如果您与登录或 IP 号码或数字数组不匹配,我希望使用重定向到身份验证页面。我宁愿不使用插件。
function intranet( ) {
$whitelist = array('192.168.0.1', 192.168.0.2);
if ( ! is_user_logged_in() || !in_array($_SERVER['REMOTE_ADDR'], $whitelist) ) {
auth_redirect();
}
}
但是,它似乎不起作用。我已阅读有关使用 .htaccess 的建议,但这将限制整个站点的 IP
deny from all
allow from 98.6.000.111
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
据我所知,这种方法不会让我通过登录选项从外部访问该网站。任何帮助表示感谢谢谢。
解决方案
好吧,我已经成功了。我不知道这在某种意义上与我的开场问题有何不同,但它仍然有效。
function intranet( ) {
$whitelist = array('0.0.0.1', '0.0.0.2');
if (in_array($_SERVER['REMOTE_ADDR'], $whitelist)) {
// do nothing
}
else {
if(is_user_logged_in()) {
//do nothing
}
else {
auth_redirect();
}
}
}
希望这对其他人有帮助。
推荐阅读
- c# - 引导选项卡打开按钮单击不起作用
- arrays - 从哈希数组中收集特定值
- javascript - Heroku 应用程序仅适用于 Chrome 桌面 // React.Js 应用程序
- r - 双括号和 $ 符号之间的区别
- bash - 在同一文件中以任何顺序或行出现的两个不同字符串的不同方式 grep
- php - Angular 5 材质按钮一旦单击以发送 id 并生成令牌,就会给出无效的数组长度错误
- android - NDK with C++ no implementation found 错误
- python - 使用 Python Selenium 在页面上的所有元素上出现 NoSuchElementException
- powershell - PS 脚本仅在由 Run with PowerShell 调用时才会失败。CmdletBinding 是根本原因
- sql-server - 如何在 SQL Azure 中创建自动备份和长期备份?