我创建了新的ASP.NET网站。我在Visual Studio中编辑(打开WebSite并通过FTP)。我想阻止所有人查看网站,除了我的IP地址。
在PHP中,我在.htaccess中这样做:
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^XX\.XXX\.XXX\.XX$ //my IP
RewriteCond %{REQUEST_URI} !^/construct
RewriteRule (.*) /construct/index.php [R=307,L] //redirect when other IP access website
在ASP.NET中我只找到了这个解决方案(在Web.config中):
<?xml version="1.0"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="XXX.XXX.X.X" allowed="true"/>
</ipSecurity>
</security>
</system.webServer>
</configuration>
但这对我不起作用。当我写完这篇文章后进入页面时,它会给我以下错误:
服务请求时出现错误。 服务器未返回任何可显示的网站。 问题的可能原因在于生成此网页的脚本。
问题是什么或我怎么解决这个问题?
答案 0 :(得分:2)
尝试任何一个并存储一个字符串变量
string ip=HttpContext.Current.Request.UserHostAddress.ToString();
or
string ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
or
string ip=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
//然后检查IP地址是否匹配。如果为true,则允许访问您的代码
if(ip=="xxx.xxx.xx.x")//Your IP address
{
//your code is here
}