IIS7 Maksimum dosya boyutu nasıl ayarlanabilir?

Merhabalar;

Geçenlerde bir proje de kullanmak üzere bir “Upload” modülü hazırlamaya koyuldum. Tam modülü bitirecektimki daha önce IIS6′da sıklıkla karşılaştığımız bir problem çıka geldi. “AspMaxRequestEntityAllowed” Her yeni kurulan işletim sisteminin içerisindeki IIS6 konfigurasyonunda standart bir ayar olan “Kabul Edilen Maksimum Dosya Boyutu” alanı siz 4mb ve üstü bir dosyayı herhangi bir formdan web alanına göndermek istediğinizde karşınıza sorun olarak çıkmıyor. Fakat 4 mb’ın üzerinde bir dosyayı sunucuya göndereceksiniz o zaman tamda bu makalenin konusu oluyor işte :)

İlk önce IIS6′da bu ayarları nasıl yapıyorduk onları bir hatırlayalım.
1. IIS6 kendi iç ayarlarını Windows\system32\inetsrv\metabase.xml adında bir dosyada tutuyordu.
2. Metabase.xml dosyasının içerisinde [Byte Değeri] maksimum upload edebileceğimiz dosya boyutunu [Byte Değeri] yazan bölüme giriyorduk.
3. IIS6 Ayarları üzerinde “ASP Script Timeout” bölümünü download zamanı uzayacağından arttırıyorduk.
4. Son olarak IIS6′yı restart edip yolumuza devam ediyorduk.

Fakat gel gelelim, Vista kullanımı yaygınlaşmaya başladığı zamandan beri artık hayatımızda IIS7 diye bir kavram oluştu. Bu IIS7 tahmin edeceğiniz gibi IIS6′nın bir ufak kardeşi. Vista içerisinde windows xp’dekinin aksine server işletim sistemlerinin (Windows Server 2008 ailesi) kullandığı IIS7 versiyonu ile birlikte geliyor. ve Tabikide ayarlarda yeni versiyon IIS7′de değişiyor.

Şimdi bu dosya boyutu durumunu IIS7 üzerinde nasıl ayarlayacağımıza bir bakalım.
2009-02-27_1117031. İlk önce yönetimsel araçlar üzerinde IIS7 yönetim konsolunu çalıştıralım.
Başlat > Ayarlar > Denetim Masası > Yönetimsel Araçlar > Internet Information Services (IIS) Manager
Start > Settings > Control Panel > Administrative Tools > Internet Information Services (IIS) Manager

2. Daha sonra şekilde görüldüğü üzere ana sayfasından ASP bölümüne çift tıklıyoruz.

 

 

 

2009-02-27_1118293. Ve son olarak açılan sayfadaki şekilde gösterilen alana BYTE olarak maksimum göndereceğiniz dosya boyutunu girdiğinizde artık 4mb’ın üzerinde dosya upload edebilirsiniz.

IP Adresine göre lokasyon / yer bulmak. (XMLLocation)

locationInternet üzerinde birçok kişinin arayıpta ücretli servisler haricinde çokta bulamadığı kendi yazdığım bir xml servisi sizlerle paylaşmak istedim. Servisimizin adı XMLLocation. Bu servise örnek olarak IP2Location adresini verebiliriz. Birçok çoklu dil destekleyen siteler kullanıcının kullandığı ip adresini baz alarak bulunduğu ülkeye göre kendi içinde otomatik olarak kullanıcının kendi kullanma ihtimali olan dile yönlendiriyor. Bu serviste parametre olarak gönderilen ip adresinin karşılığında birçok lokasyon, ISP, Harita enlem ve boylamları, ülkeye ait bayrak gibi değerleri döndürebiliyor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!--'Test Için IP Adresleri (Bunlar proxy ip adresleri)
' Türkiye = 212.146.133.136
' Rusya = 82.162.57.63
' United States = 63.149.98.70
' Çin = 61.129.159.201
 
' ///// Siteye Gelen vatandasin IP adresini alalim.
strVatandasIP = Request.ServerVariables("REMOTE_ADDR") ' Test için yukaridaki ip adreslerini kullanabilirsiniz.
' ///// XML Nesnemizi olusturalim (XML Service Için)
set xmlDoc = createObject("MSXML2.DOMDocument")
xmlDoc.async = False
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load("http://services.gabbara.com/xmllocation/?IP="&#038;strVatandasIP&#038;"") 'XML'i alacagimiz servisin adresi ve gönderilen parametre (vatandasin ip adresi)
 
' ///// 1. Kontrölü Yapiyoruz. (Servis Çalisiyormu)
if xmlDoc.parseError.errorcode <> 0 then 'XML Service patladi...
' -> XML Service Patlarsa Direk Ingilizce Sayfaya Yönlendir.
Response.Redirect("en/index.asp")
else
' -> Sorun Yoksa Buradan Buyrun...
' -> Ilk Önce Isimize Yarayan Node'lari alalim.
 
' ///// 2. Kontrolü Yapiyoruz. (IP Adresi Bulunamadi?)
' -> Servis bize IP adresine bagli ülkeyi bulsada bulmasada her halükarda Error dügümünü döndürecektir.
' -> IP Adresini bulursa Error = 0 olarak döner Bulamazsa Error = 1 olarak döner.
' -> O yüzden bizde ilk önce bu tarz bir durum olustumu diye Error dügümünü kontrol ediyoruz.
strError = xmldoc.selectSingleNode("countryRoot/Error").text ' Servisten dönen hata kodu
 
if strError = "1" then ' Eger hata kodu 1 dönmüsse demekki hata var!
' Kardes biz senin nereye ait oldugunu bulamadik o yüzden sen ana dil olan ingilizceye git.
'Response.Redirect("en/index.asp")
 
else ' Error kodu 1 den farkli döndüyse buda 0 demek zaten. O zaman diger parametreleri ver bakalim.
strShortName = xmldoc.selectSingleNode("countryRoot/ShortName").text ' Ülkeye ait kisa isim örn : TR
strLongName = xmldoc.selectSingleNode("countryRoot/LongName").text ' Ülkeye ait uzun isim örn : TURKIYE
strRegion = xmldoc.selectSingleNode("countryRoot/Region").text ' Ülkenin bulundugu bölge örn : ASIA
strIpCity = xmldoc.selectSingleNode("countryRoot/IpCity").text ' IP adresinin bulundugu sehir örn : ISTANBUL
strLatitude = xmldoc.selectSingleNode("countryRoot/Latitude").text ' Ülkeye bagli harita enlemi örn : 32,5
strLongitude = xmldoc.selectSingleNode("countryRoot/Longitude").text ' Ülkeye bagli harita boylami örn : 132,52
strISP = xmldoc.selectSingleNode("countryRoot/ISP").text ' IP adresinin bagli oldugu ISP : TT ADSL-ALCATEL STATIC_GAY
strIPDomain = xmldoc.selectSingleNode("countryRoot/IPDomain").text ' IP Adresinin bagli oldugu ISP ye ait web sitesi adresi örn : FORNET.NET.TR
strFlagPath = xmldoc.selectSingleNode("countryRoot/FlagPath").text ' Ülkeye ait bayrak örn : http://services.gabbara.com/xmllocation/flags/[ULKE KISA KODU].gif
end if ' 2. Kontrolün sonu.
 
end if
 
' ///// Simdi sira geldi hangi dil için nereye gidecegine
' -> Kisa kodlar ülke kodlari ile ayni döner yani bilinen Türkiye için TR Rusya için RU United States (Ingiltere) için US Çince için CN gibi.
' -> Biz simdi yukarida yazan toplam 4 farkli ülkeyi kontrol edecegiz. Sekilde ziyaretçinin geldigi kisa koda göre islem yaptiriyoruz. Hayde baslayalim!
 
if strShortName = "TR" then
'Arkadas Turkiye den!
Response.Write "Hosgeldiniz!" 'Sayfaya yaz türkçe
'Response.Redirect("tr/index.asp") 'Sayfayi türkçe arabirimine yönlendir.
elseif strShortName = "RU" then
'Arkadas Rusya dan!
Response.Write "Rusça Hosgeldin!" 'Sayfaya yaz rusça
'Response.Redirect("ru/index.asp") 'Sayfayi rusça arabirimine yönlendir.
elseif strShortName = "US" then
'Arkadas United States den!
Response.Write "Welcome!" 'Sayfaya yaz ingilizce
'Response.Redirect("en/index.asp") 'Sayfayi ingilizce arabirimine yönlendir.
elseif strShortName = "CN" then
'Arkadas Çin den!
Response.Write "Çince Hosgeldin!" 'Sayfaya yaz çince
'Response.Redirect("cn/index.asp") 'Sayfayi çince arabirimine yönlendir.
else
' Bu ülkelerin disinda biryerden geliyor.
Response.Write("Nereden geldigini bilmiyoruz hocam?")
'Response.Redirect("selectlang.asp")' Dili kendi seçsin?
'Response.Redirect("en/index.asp")' Yada direk ingilizceye gitsin?
end if
 
' Diger bilgileride yazalim hayde!
Response.Write("
 
")
Response.Write strShortName &#038; "
" &#038; strLongName &#038; "
" &#038; strRegion &#038; "
" &#038; strIpCity &#038; "
" &#038; strLatitude &#038; "
" &#038; strLongitude &#038; "
" &#038; strISP &#038; "
" &#038; strIPDomain &#038; "
" &#038; strFlagPath
-->

Örnek sorgulama adresi : http://services.gabbara.com/xmllocation/?IP=203.162.183.222
Kodun nasıl çalıştığını görmek için http://services.gabbara.com/xmllocation/test.asp adresine girebilirsiniz.

IT Müdürlerinin İçini Rahatlatacak Birkaç Ürün

Özellikle IT ile alakalı arkadaşlar için internette araştırdığım birkaçtane baş belası konularda çözüm sağlayacak sistemleri paylaşmak istedim. Bildiğiniz gibi her IT Müdürü / Çalışanı’nın en korktuğu konulardan birtanesii doğal afet olarak nitelendirebileceğimiz (Yangın, Su Baskını, Elektrik Kesintisi v.b.) konular yada herhangi bir güvenlik ihlali durumu ile sistemlerine zarar gelmesidir. Şahsen bu durumu tam olarak önlemesede en azından bilgilendirebilecek, yada o kadar insafsız olmayalım :) en azından bir nebze önleyebilecek birkaçtane sistem bulduğumu söyleyebilirim. Bu sistemler belli başlı konularda (yukarıda belirttiğim gibi) datacenter sorumlusunu oldukça rahatlattığı gibi. Aynı zamanlarda olay anından öncesinde’de cep telefonu yada normal telefonlarla iletişime geçerek kişiyi uyarabiliyor.

İlk Ürünümüz :
Sensplorer v3
Sensplorer v3 ürünü bulunduğu ortamdaki havayı yada olağan durumları takip etmiyor resmen kokluyor. Aşağıda kendi sitesindede belirtilen genel anlatımı bulunmakta.

Peki bu sistem üzerinde neler barındırıyormuş bir bakalım?

  • Sıcaklık Sensor Modülü
  • Sıcaklık & Nem Sensor Modülü
  • Hava Kalitesi Sensor Modülü
  • Su Kaçağı Algılama Modülü
  • 1-Faz AC Enerji Saati Modülü
  • 3-Faz AC Enerji Saati Modülü
  • GSM/GPRS SMS Modülü
  • 3 adet 1-Faz AC/DC RMS Voltaj ve Frekans
    Ölçüm Modülü
  • Internet üzerinden erişim.
  • Birden fazla lokasyonu aynı anda kontrol etme.
  • Kapı güvenliği ve kilit sistemi.
Ürünün fiyatı araştırdığım kadarı ile yaklaşık 1000€ seviyelerinde açıkcası birinci ürün olarak yazmamın nedeni yapabildiklerinden ziyade fiyatıda. Daha detaylı teknik bilgiyi : buraya tıklayarak ürünün kendi web sitesinden alabilirsiniz.

İkinci Ürünümüz : SuperGoose - WxGoos-2
SuperGoose - WxGoos-2 IT Watchdogs tarafından üretilen ve düz alan montajının haricinde rackmount olarak bilinen yapıya sahiptir. Bu şekilde sunucularınızın bulunduğu kabinetlerle aynı yeri paylaşabilir. Bildiğimiz kadarı ile bu ürün Isı, Yangın, Yetkisiz Erişim, Elektrik Kesintisi ve Nem kontrol ediyor ve Network ile bir yazılıma bağlı olarak çalışıyor. Üzerinde aynı lokasyonda bulunmadığınız sürece haber vermek için gerekli bir GSM/GPRS altyapısı mevcut değil. Sanırım alarmı var.