Tags: , , | Categories: Fun, Programlama, Security, Tip, Web Uygulaması Posted by okutbay on 24.07.2013 21:26 | Yorumlar (0)

İlk web sayfalarımı yaparken içerik kopyalanmasını önlemek için çeşitli numaralar yapar kopyalayanın işini zorlaştırmaya çalışırdım. Sonraları bunun gereksizliğine inandım. Çünkü içeriğin kopyalanması engellemezdi ve ayrıca ziyaretçiler için sinir bozucu olabiliyordu. Ben de bu uygulamadan vazgeçtim. Ama görüyorum ki bazı sitelerin yöneticileri hala yazılımcılarından böyle önlemleri almalarını istemekte ve arkadaşlarımızın değerli zamanlarını ve emeklerini gereksiz konulara yönlendirmekteler. Yapmayın etmeyin. Boşverin isteyen istediğini kopyalasın. Unutmayın kilit dost içindir. Hırsız niyet ettiyse kilit falan dinlemez.

Neden yazdım bu kadar yazı. Çünkü sinirlendim. Okuduğum bir Yılmaz Özdil yazısını facebookda paylaşmak istedim. Açıklama kısmına yazıdan bir bölümü kopyalayıp yapıştırmak istediğimde başarısız oldum. Hemen bir word belgesi açtım. Seçili bölümü sürükleyip belgeye bıraktım. Ve işte metin buradaydı. Orada durmadım düz metine çevirmek için bir ne notepad açıp wordden oraya yapıştırdım. Oradan da facebook a.

Sonuç sadece insanları sinir ediyorsunuz...  

2 kişi tarafından 4.5 olarak değerlendirildi

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Categories: Genel, Security Posted by okutbay on 27.05.2013 19:21 | Yorumlar (0)

Yeni bilgisayarım windows 8 olduğu için alışma ve öğrenme sürecinden geçiyorum. Bu süreç içinde bazen bildiğiniz şeyleri tamamen unutmanız ya da farklı bir açıdan yaklaşmanız gerekebilmekte.

Önceki windows 7 ve vista sürümlerinde User Access Control - UAC denen özelliği tamamen kapatabiliyorduk. Böylece her admin hesabımızla her uygulama için run as administrator demek zorunda kalmıyorduk.

Windows 8i de alınca ilk yaptığım UAC kapatmak olmuştu. Ancak bugün fark ettimki bildiğimiz yöntemlerle bunu kapatamıyoruz. Sadece sessiz modda çalışmasını sağlayabiliyoruz. Şimdilik bunu aşmanın bir yolunu bulabilmiş değilim. Bir çözüm bulana kadar uygulamaları  "Run As Administrator" diyerek çalıştırmaktan başka bir yol kalmıyor. Ama en azından bunun kolay bir yolu var ver uygulamayı her çalıştırışınızda bir kaç klik tasarruf etmenizi sağlayacaktır.

Uygulama kısayol dosyasına ters tıklayıp özelliklere girin. Açılan pencerede kısayol sekmesinde bulunan gelişmiş butonuna tıklayarak açılan pencerede "Run As Administrator" kutucuğunu işaretleyin ve uygulamanız sürekli admin yetkileri ile çalışsın.

 

 

Adım 1: Uygulama kısayol dosyasına ters tıklayıp özelliklere girin
 
Adım 2: kısayol sekmesinde bulunan gelişmiş butonuna tıklayın 
 
Adım 3: açılan pencerede "Run As Administrator" kutucuğunu işaretleyin
 
 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Categories: Security, Veritabanı Posted by okutbay on 25.09.2009 10:39 | Yorumlar (0)

I was gettin this error  when i try to execute a stored procedure from linked server.

Executed as user: XXX\yyy. The OLE DB provider "SQLNCLI"
for linked server "LSQL02" reported an error.
Authentication failed. [SQLSTATE 42000] (Error 7399)  Cannot initialize the data source object of OLE DB provider "SQLNCLI" for linked server "LSQL02". [SQLSTATE 42000] (Error 7303)  OLE DB provider "SQLNCLI" for linked server "LSQL02" returned message "Invalid authorization specification". [SQLSTATE 01000] (Error 7412).  The step failed.

To solve you can map Servers local user to remote servers user with executing 'sp_addlinkedsrvlogin'

EXEC sp_addlinkedsrvlogin @rmtsrvname = 'linkedservername'

      , @useself = 'FALSE'

      , @locallogin = 'localuser'

      , @rmtuser = 'remoteuser'

      , @rmtpassword = 'remoteuserpassword'

To remove user mapping.

 

EXEC sp_droplinkedsrvlogin @rmtsrvname = 'linkedservername'

      ,@locallogin = 'localuser'

 

References

Security for Linked Servers
http://msdn.microsoft.com/en-us/library/ms175537.aspx

sp_addlinkedsrvlogin (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms189811.aspx

sp_droplinkedsrvlogin (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms186218.aspx

 

 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , , , , | Categories: Security, Web Uygulaması Posted by okutbay on 18.08.2009 13:51 | Yorumlar (0)

Web uygulamaları Internet üzerinden anonim (kimliği belirsiz) ziyaretçiler tarafından kullanılırlar. Kullanıcılar hakkında bilgi toplamak ya da sadece belirli kaynaklara erişimlerini sağlamak istiyorsak öncelikle onların kim olduğunu belirli bir kaynaktan sorgulayıp, doğru kişi olduklarını onaylamamız gerekir. Bu işleme "Kimliklendirme (Authentication)" denir.

Web uygulamalarında farklı kimliklendirme yöntemleri olsada Internet üzerinden erişilen uygulamalar için uygun olan kimliklendirme yöntemi "Forms" yöntemidir. (Bu noktadan sonra Forms Authentication olarak anılacaktır.)

Forms authentication kullanımını aktif hale getirmek için web uygulamanızın ayar dosyası Web.Config içinde <authentication mode="Forms" /> satırı yer almalıdır.

1 <configuration>
2 <system.web>
3 <authentication mode="Forms"/>
4 </system.web>
5 </configuration>

Aktif edilen Forms authentication için giriş sayfası, varsayılan sayfa, zaman aşımı, çerez adı gibi ayarlar yapılmalıdır. Bu noktada yapılabilecek ayalar bu kadar değildir. Detaylı bilgi için makalenin sonunda yer alan makaleye göz atmanızı öneririm.

1 <authentication mode="Forms">
2 <forms loginUrl="login.aspx"
3 defaultUrl="default.aspx"
4 timeout="30"
5 name=".ASPXAUTHWEBLEBICI"/>
6 </authentication>

Böylece FormsAuthenticationModule sınıfının gerektirdiği asgari ayarları yapmış oluruz. Artık kimliklendirme aşamasını takip eden "Yetkilendirme" (Authorization) aşaması için gerekli ayarları yapmaya geçebiliriz.

Yetkilendirme için web.config dosyamızda authorization elemanını kullanarak UrlAuthorizationModule sınıfını ayarlayabiliriz.

1 <system.web>

2 <authorization>

3 <deny users="?" />

4 </authorization>

5 </system.web>

Uygulamamızın ana ayar dosyasında yapılan bu ayarla birlikte uygulamamıza gelen anonim kullanıcıların kaynaklara erişimi reddedilerek kimliklendirme ayarında belirtilen giriş sayfasına kimliklendirme işlemi için gönderilmeleri sağlanacaktır. Burada soru işareti anonim (kimliksiz) kullanıcıları temsil ederken tüm kullanıcıları temsil etmek için "*" değeri kullanılabilir. Unutulmaması gereken noktalardan biri ise ayar dosyalarının yukarıdan aşağıya doğru işlendiğidir. Örneğin deny satırı üzerine yazacağınız <allow users="*" /> ayarı tüm kullanıcların siteye erişmesi anlamına gelecektir...

Önemli Not: Authentication ayarı sadece uygulamamızın ana klasöründe bulunan web.config dosyasında yapılabilirken authorization ayarı ana klasör veya alt klasörler için oluşturulacak web.config dosyalarında bulundukları klasörü kapsayacak şekilde yapılabilir. Yani uygulamanız anonim erişime açıkken sadece belli bir klasörü yetkili erişim için ayarlayabilirsiniz.

Belirlenen giriş sayfasına gelen kullanıcılar belirlenmiş olan veri kaynağından kimliklerini onayladıktan sonra ilgili kaynağa girmeye yetkiliyseler bu kaynağa erişebilirler. Aksi halde tekrar giriş sayfasına geri gönderilirler ve kaynağa erişmeye yetkili bir kullanıcı bilgisi ise giriş yapmaları beklenir. Bizim senaryomuzda kimlik doğrulamasını geçen tüm kullanıcılar kaynaklara erişmeye yetkilidir. Farklı kişi ya da gruplar için erişim deny ya da allow elemanları users ya da roles öznitelikleri ile kullanılabilir...

Bu noktada bazı kararlar vermeniz gerekecektir. Ama hangi kararları alırsanız alın temelde yapacağınız işlemler aynıdır. Kullanıcı bilgilerini web.config de depolayabilir ya da bir veritabanı tablosu, web servis gibi bir kaynakla kontrol edebilirsiniz. Her halukarda kullanıcı adı ve şifresini kullanıcıdan girmesini isteyeceğiniz bir sayfanız olacaktır. Kullanıcı bilgileri girip, giriş butonuna tıklayacak ve siz arka tarafta hangi mekanizmayı kullanıyor olursanız olun yapacağınız işlem bu kullanıcının varolup olmadığına bakmak, şifresinin uyup uymadığını kontrol etmek, doğru ise siteye girişine izin vermek yanlış ise tekrar giriş sayfasına yönlendirmek olacaktır.

Kısıtlanmış bir kaynağa erişilmek istendiği zaman yapılan ayarlar gereği kullanıcı dönüş adresi ile birlikte login sayfasına yönlendirilecektir.

Referanslar:

Explained: Forms Authentication in ASP.NET 2.0 (patterns & practices Developer Center)

How To: Use Forms Authentication with SQL Server in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ms998317.aspx

How To: Use Membership in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ms998347.aspx

How To: Use Role Manager in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ms998314.aspx

1 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: | Categories: Security, SSS (FAQ), Web Uygulaması Posted by okutbay on 17.08.2009 12:29 | Yorumlar (0)

If you are using Anti XSS Library, you've noticed that it doesn't have any decoding methods. It is because library aims preventing XSS attacks. If you want to decode your content you can use Server.HtmlDecode method. Do not re-write the code that already written. :)

 

Cross Site Scription

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Categories: Tanıtım, Web Uygulaması, Library, Security Posted by okutbay on 06.08.2009 22:57 | Yorumlar (0)

Infact Web applications are HTML forms and lives at the client side. This HTML forms make visits to their parents who lives at the server side. While they are visiting their parents they bring a lot of data input from client side. While they are leaving for home takes a lot of output data.

If you let all the input in without checking and filtering and send back to client, you can be a victom of XSS.

Microsoft released an Anti XSS Library. This library is solid and you can use for all input and output that that comes from unsecures resources.

You can find this library here

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , | Categories: Genel, Security Posted by okutbay on 06.08.2009 14:38 | Yorumlar (1)

Bildiğiniz gibi geliştirme yaparken alan adı varmış gibi bir sunucuyu kullanmak istedğimizde hosts dosyamıza test sunucusu ip adreslerine karşılık gelen alan adı tanımlamalarını yapıyoruz. (Başka amaçlar da olabilir tabi. Örneğin youtube açmak :) )

Ama Notepad programını yönetici olarak çalıştır deseniz bile Hosts dosyayı salt okunur gizli sistem dosyası olduğu için dosyayı kaydetmenize izin vermez. Bu sorunu aşmak için eski DOS komutlarına dönüp şunu yazmak yeterli olacaktır.

C:\Users\Administrator>cd C:\Windows\system32\drivers\etc
C:\Windows\System32\drivers\etc>attrib -s -r -h hosts

Artık dosya standart bir dosya olarak editlenebilir. Güvenlik sorunu yaratmamak için işiniz bittikten sonra öznitelikleri geri ayarlayabilirsiniz.

C:\Windows\System32\drivers\etc>attrib +s +r +h hosts

Kolay gelsin.

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5