سلام و احترام
اینو تست کردید جدیدا نه اما قبلا ازش جواب گرفتم قبلا هم نه زیاد قبل حدود 7 ماه پیش
Using web.config to limit access by IP address
سلام و احترام
اینو تست کردید جدیدا نه اما قبلا ازش جواب گرفتم قبلا هم نه زیاد قبل حدود 7 ماه پیش
Using web.config to limit access by IP address
دوست عزیز
کاری که شما میخواین انجام بدین نمیگم خیلی حرفه ای هست ولی اگه انجام ندادیم قبول دارم یکم مشکله .
برای شروع من کلاس مربوطه رو با نام IPBlock در پوشه App_Code میسازم توجه کنید این اسم یه چیزه دلخواهه
و تو فایل web.config این کلاس رو اضافه میکنم :using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public class IPBlock : IHttpModule
{
public IPBlock()
{
// TODO: Add constructor logic here
}
public void Dispose()
{
//Dispose
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(Application_BeginRequest);
}
private void Application_BeginRequest(object source, EventArgs e)
{
HttpContext context = ((HttpApplication)source).Context;
string ipAddress = context.Request.UserHostAddress;
if (IsBlockedIpAddress(ipAddress))
{
context.Response.StatusCode = 403;
context.Response.Write("Forbidden : The server understood the request, but It is refusing to fulfill it.");
}
}
private bool IsBlockedIpAddress(string ipAddress)
{
//Here I have stored Ip addresses in String[]. you can also Store in database.
string[] IPs = { "117.196.35.121",
"117.196.35.122",
"117.196.35.123",
"117.196.35.124",
"127.0.0.1"
};
foreach(string IP in IPs)
{
if(IP == ipAddress)
return true;
}
return false;
}
}
- - - Updated - - -<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpModules>
<add name="IPBlockModule" type="IPBlockModule"/>
</httpModules>
</system.web>
</configuration>
وای یادم نبود چرا این کار رو نمیکنید یه فایروال نصب کنید و پورت 80 رو رنج آی پی خارج ببندیدبهترین کار ممکن
ببخشید پوشه App_Code کجاست؟ و این کلاس رو کجا باید بسازم؟ و چطوری آِی پی های غیر ایران رو ببندم؟
توی فایل web.config یه سری طلاعات دیگه هم هست این اطلاعات رو به ادامه اون اطلاعات کپی کنم؟
سپاس گزارم
- - - Updated - - -
میشه آی دی یاهوتونو بدید؟وای یادم نبود چرا این کار رو نمیکنید یه فایروال نصب کنید و پورت 80 رو رنج آی پی خارج ببندیدبهترین کار ممکن
رو فایروال خود ویندوز میشه؟
من چطوری این همه آی پی خارجیو تکی تکی ببندم؟
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)