如何阻止某个IP地址的div

时间:2012-05-01 15:40:13

标签: asp-classic

我必须为某个IP地址阻止某个div 我在这里使用asp是代码:

 <%
Dim sBlockedIP
sBlockedIP = Request.ServerVariables("REMOTE_ADDR")
'check if the IP is the one that is blocked
If sBlockedIP = "00.000.00.00" Then
'if IP address is banned then redirect to no_access.asp
Response.Redirect "no_access.asp"
End If
%> 

这是需要阻止此IP的html

    <div id="social_media_outer">
      <div id="social_media">
      <div id="fb-root"> <script src="#">
      </script><fb:like href="" send="true" layout="button_count" 
show_faces="false" action="recommend" border="6" font="">
      </fb:like>
      <span  class='st_linkedin' >
      </span></span>
      <span  class='st_facebook' >
      </span>
      <span  class='st_sharethis' st_title="#"></span>
      <a href="http://twitter.com/share" data-count="none"><img src="#" style="position:relative;
      bottom:-4px; border:none;" /></a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><span class="st_email" ></span>
      <a href="javascript:print(document)"><img src="http://www.gosh.org/facebook/sharethis/print_icon.gif" style="position:relative;
      bottom:-4px; border:none;" /></a>

 </div>
</div>
</div> 

有人可以帮忙吗。

2 个答案:

答案 0 :(得分:1)

为什么不放一个简单的If Else

If sBlockedIP <> "123.456.789.000" Then

   <div id="social_media_outer">
      <div id="social_media">
      <div id="fb-root"> <script src="#">
      </script><fb:like href="" send="true" layout="button_count" 
show_faces="false" action="recommend" border="6" font="">
      </fb:like>
      <span  class='st_linkedin' >
      </span></span>
      <span  class='st_facebook' >
      </span>
      <span  class='st_sharethis' st_title="#"></span>
      <a href="http://twitter.com/share" data-count="none"><img src="#" style="position:relative;
      bottom:-4px; border:none;" /></a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><span class="st_email" ></span>
      <a href="javascript:print(document)"><img src="http://www.gosh.org/facebook/sharethis/print_icon.gif" style="position:relative;
      bottom:-4px; border:none;" /></a>

 </div>
</div>
</div> 

Else

End If

我可能真的过分简化......

答案 1 :(得分:1)

如果您只希望阻止部分生成的内容(并使用基于IIS IP的安全工具阻止整个页面比编码它更好),则首先Response.Redirect不是合适的工具。

这样做

 <%
      Function CanShowProtectedContent()
           CanShowProtectedContent = Request.ServerVariables("REMOTE_ADDR") <> "xxx.xxx.xxx.xxx"
      End If
 %>

 ...

 <div id="social_media_outer"> 
 <% If CanShowProtectedContent()  Then %>
    <!-- your normal content here -->     
 <% Else %>
    <span>Content unavailable</span>
 <% End If %>
 </div>

虽然您应该考虑加强CanShowProtectedContent以支持禁止IP地址和/或子网列表。还将该集存储为ASP包含文件。