레이블이 ASP.NET TIPS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 ASP.NET TIPS인 게시물을 표시합니다. 모든 게시물 표시

[asp.net] ip-dns간 호스트 매핑

웹개발을 하다보면 서버별로 페이지를 확인해야 할 경우가 많다.

 호스트 파일을 사용하거나,
 fiddler에서 Host remapping 기능을 사용하거나
 어떤 프로그램을 사용하건,

여러 서버를 둔 api 서비스라거나 여러 서비스들에서 캐시를 이용해 서비스되는데
캐시를 바로 삭제 해야할 필요가있다.

ip를 지정해 해당 도메인에 접근하려면,


webproxy에 ip를 할당하거나 또는 아래




1.
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create("namasg.blogspot.kr");
                    request.Referer = domainHost;
                    request.Proxy = new WebProxy(http://127.0.0.1);
                    using (WebResponse response = request.GetResponse())
                    {}



2.
   //private string WebRequest_()
        //{


        //    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ip);
        //    FieldInfo headersFieldInfo = request.GetType().GetField("_HttpRequestHeaders", System.Reflection.BindingFlags.NonPublic
        //                                          | System.Reflection.BindingFlags.Instance
        //                                          | System.Reflection.BindingFlags.GetField);
        //    CusteredHeaderCollection WssHeaders = new CusteredHeaderCollection(dns);
        //    headersFieldInfo.SetValue(request, WssHeaders);
        //    request.Proxy = null;
        //    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        //    StreamReader sr = new StreamReader(response.GetResponseStream());
        //    return sr.ReadToEnd();

        //}
        //public class CusteredHeaderCollection : WebHeaderCollection
        //{
        //    public bool HostHeaderValueReplaced { get; private set; }

        //    public string ClusterUrl { get; private set; }

        //    public CusteredHeaderCollection(string commonClusterUrl)
        //        : base()
        //    {
        //        if (string.IsNullOrEmpty("commonClusterUrl"))
        //            throw new ArgumentNullException("commonClusterUrl");

        //        this.ClusterUrl = commonClusterUrl;
        //    }

        //    public override string ToString()
        //    {
        //        this["Host"] = this.ClusterUrl;
        //        string tmp = base.ToString();
        //        this.HostHeaderValueReplaced = true;
        //        return tmp;
        //    }
        //}

[asp.net] 잠재적 위험이 있는 request.form 값을 발견했습니다

[asp.net] 잠재적 위험이 있는 request.form 값을 발견했습니다
.net framework는 xss, injection 공격을 방어하기 위해 자체적으로 form tag 검사를 한다.

개발 환경이 webform 일경우,
aspx -> validateRequest = "False"로 지시처리문에 추가한다.
or
web.config  <system.web><pages validateRequest = "false" /> 추가한다.


개발 환경이 mvc일 경우,
action method에 validateinput 속성을 추가한다.
--> [ValidateInput(false)]

위 처리 방법으로 본 에러를 처리하면 첫 문장과 같이 xss || injection 공격을 방어할 수 없기 때문에 무턱대고 사용하면 안된다.