Blog

Bilgi Paylaştıkça Güzeldir...

asp.net İle Dış ip Öğrenme

Projenizde sayfayi açan kişinin diş adresi ile işlem yapıcaksanız.


var ipAddress = string.Empty;

            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)

            {

                ipAddress = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();

            }

            else if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"] != null && System.Web.HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"].Length != 0)

            {

                ipAddress = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"];

            }

            else if (System.Web.HttpContext.Current.Request.UserHostAddress.Length != 0)

            {

                ipAddress = System.Web.HttpContext.Current.Request.UserHostName;

            }

            if (ipAddress == "111.111.111.111")

            {

                //Yapılacak işlem

            }

            else

            {

                //Yapılacak işlem

            }


Kullanmanız gereken Kod bloğu bu şekildedir. Hızlı geri bir şekilde bulaşabılırsınız dış ip adresine

Viewstate MAC doğrulaması başarısız oldu (Validation of viewstate MAC failed).

'Validation of viewstate MAC failed' hatasi, sayfada uzun süre bekleyip, sayfayi tetikleyecek herhangi birseye tikladiginiz veya timer ile sayfayi yenilediğiniz  vakit karsiniza çikacaktir. Sayfa post edildigi vakit state'te takilip hata ekrani çikaracaktir.

"Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster." gibi bir hata alıyorsanız;

Web confgi içinde System.Web altına;

<system>

<pages validateRequest="false" enableEventValidation="false" enableViewStateMac="false" viewStateEncryptionMode="Never">

</system>

evet arkadaşlar bu kodlarımızı webconfiğin içine yazdığımız da artık machinekey hatası almıyacağız.

Görüşmek Üzere;