Forum

Asp.NET MVC 5 ile i...
 
Bildirimler
Hepsini Temizle

Asp.NET MVC 5 ile internet yapılandırması

13 Yazılar
2 Üyeler
0 Reactions
1,280 Görüntüleme
(@AyseSayari)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

Merhaba, Javascript ile CSS bilgim var, Mevcutta Php ile web tasarlıyordum ama daha yeni yeni 3 ay kadar önce Asp.NET MVC 5 ile ilgili 2 kitap satın aldım.

 

Bayağı yardımcı oldular bir de internet, ama internette pek ısınamadığım iki konu var, biri routing yapılandırması biri de webconfig. Bu yapılandırmaların  herhalükarda sızma girişimlerine karşı nasıl yapılandırılması gerekiyor ? Nelere dikkat etmem lazım?

 

Dosya dizinlerine, ayar / yapılandırma dosyalarına (ki web config dışında var mı onu da tam bilemiyorum) internetten gelen kullanıcıların erişmemesini istiyorum doğal olarak. Neden mevcutta erişebiliyorlar (mış) ?? Onu da anlamış değilim.

 

Neler yapabiirim ?

 

Teşkkr edrm

 
Gönderildi : 10/05/2017 08:01

(@eravse)
Gönderiler: 1753
Üye
 

Merhaba

.net framework injectionları kendi içinde halledebildiği gibi dışarıdan security classlarını da yazmanıza imkan tanır.

 

Routing MVC üzerinde App Start klasöründe Routing config dosyasında bulunur Temel olarak MVC Model View Controlle mantığında gittiğinden sabit URL si

/Controller/Action/Parameter Seklindedir bu orneklemeye vurulursa /Kullanıcılar/Duzenle/1 şeklinde dir. Kullanıcı düzenleme eyleminin 1 numaralı id ye sahip kullanıcı için URL isteğidir.

Diğer yandan routing i SEO Generated dediğimiz www.cozumpark.com/makale/merhaba-dunya şeklinde yapmak isterseniz Roting dosyasına

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(name: "Detail",url: "makale/{id}",defaults: new { controller = "Makaleler", action = "MakaleDetay", id = UrlParameter.Optional });

 

şeklinde yapılandırma yapmanız gerekmektedir.

 

Dosya dizin kısımlarının yönetimi genelde yazma ve okuma ızınlerı IIS uzerınden yapılır Webconfig uzerınden de erisim izinlerini verebilirsiniz. Controller uzerınden de eğer uyelık hızmetlerını kullanıyorsanız Authorize komutları ıle ısteklerı ıcerı yada dısarı alma komutlarını verebılırsınız.

 

ıkı konu aynı anda olunca bıraz basıt gecmek zorunda kaldım kusura bakmayın umarım faydalı olur

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 10/05/2017 08:10

(@AyseSayari)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

Merhaba, bu saatte bir yanıt ile karşılaşabileceğimi hiç ummuyordum açıkçası ... Şaşırdım .

basit geçtim diyorsunuz ama yanıt olarak oldukça emek harcamışsınız. ben visual studio da yukarıda da bahsettiğiniz üzere,

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); gibi yapılandırmalarla karamsarlığa düştüm, bu sadece tek bir müstesna mı, yoksa güvenli bir site yapılandırması için örneğin bir eposta sunucusu için bu ve daha bunun gibi birçok alana erişimin durdurulması gerekir mi?

Örneğin internette bir iki makaleye rastladım, onlar 80 ve 443 portları dışında herhangi bir portun açılmamsı gerektiğini, media klasörleri dahil tüm klasörlerin erişime kapalı olması gerektiğini sıralamışlar.

şimdi benim css dosyalarımın olduğu klsör var 🙂 bu sefer o da web page den çekilemeyecek ... belki de ben anlamamışımdır ... tekrr tşkkür edrim

 
Gönderildi : 10/05/2017 08:22

(@eravse)
Gönderiler: 1753
Üye
 

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); gibi yapılandırmalarla karamsarlığa düştüm, bu sadece tek bir müstesna mı, yoksa güvenli bir site yapılandırması için örneğin bir eposta sunucusu için bu ve daha bunun gibi birçok alana erişimin durdurulması gerekir mi?

 

Bu asp.net ın kullandıgı resource dosyalarına erısımı kesmek ıcın dıye baglayabılırız

 

Örneğin internette bir iki makaleye rastladım, onlar 80 ve 443 portları dışında herhangi bir portun açılmamsı gerektiğini, media klasörleri dahil tüm klasörlerin erişime kapalı olması gerektiğini sıralamışlar.

IIS üzerinden yada .net le alakalı bır durumd egıl bu bunu yapabılmek ıcın sunucuların onunde fırewall olması gereklı o yapılandırmada yazılımcı olarak bızlerın gercek ısı degıl uzmanlarına bırakmak sadece ne ıstedıgımız soylemek yeterlı olacaktır.

 

şimdi benim css dosyalarımın olduğu klsör var 🙂 bu sefer o da web page den çekilemeyecek ...

bunun ıcın endıselenmeyın o klasorlere yazma ıznı vermedıgınız surece sıkıntı cıkmaz yazma ızınlerını kontrollu olarak vermenız gerekmektedır. css zatern read edılebılır bır dızın olması lazım kı okunsun hem sızın tarafınızdan hemde botlar vb sıstemler tarafından korkmayın elınızı korkak alıstırmayın

 

Burası çözümpark 🙂 her saat bir arkadaşımız bulunur illaki 🙂

saygılar

 

 

 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 10/05/2017 08:27

(@AyseSayari)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

teşkkr ederm. Ben bildiklerimi özellikle CSS ve Javascript konusunda derlediklerimi ve notlarımı bu sitede paylaşabilir miyim ? Sakıncası olur mu? Dah aönce sormuştum ama sanırım yetkililer görmedilr..

 
Gönderildi : 10/05/2017 08:35

(@eravse)
Gönderiler: 1753
Üye
 

Tabı bılgılerınızı paylasabılırsınız forumda ıpucu dıye bır kategorı var orada paylasabılırsınız

İpuclarınız ıcın

https://www.cozumpark.com/forums/41/ShowForum.aspx  

Diğer paylaşımlarınız için

https://www.cozumpark.com/forums/147/ShowForum.aspx

 

forum kuralları gereği reklam yapılması ve uygunsuz içerik direk olarak silinmektedir. Paylaşımların güvenliği size aittir şifrelerinizi yazmayın yanı 🙂

saygılar

 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 10/05/2017 08:39

(@AyseSayari)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

teşekkr ederim. yok hayır reklam yappack bir varlığa ya da işe sahip değilim . telif hakkı içerecek sağdan soldan bilgi de olmayacaktır özgün kısa ama pratik konular için heveslenmiştim o kdar.

 
Gönderildi : 10/05/2017 08:43

(@eravse)
Gönderiler: 1753
Üye
 

kusura bakmayın sadece kuralları ufak olarak bıldırmek ıstedım zaten uyelık kurallarında da mevcut gonlunuzce yazabılırsınız

saygılarımla

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 10/05/2017 08:45

(@AyseSayari)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

Estağfurullah siz kusuruma bakmayin zaman ayırdınız teşekkr ederim.

 
Gönderildi : 10/05/2017 08:49

(@AyseSayari)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

Merhabalar Erdem Hocam, dünden bu yana routering konusu üzerinde çalışıyorum.

controller action ve parameter kitaplarda anlatıldığı gibi, siz de zaten dün örnek vermiştiniz teşekkr ederim.

ama bugün bir iki siteyi açtım ve url path lerin nasıl ayrıştırıldığına aklım ermedi

papatya ile parkgarden markası seçildiğinde  http://www.hepsiburada.com/papatya-parkgarden/bahce-mobilyalari-c-34001194

eğer sadece papatya seçilseydi  http://www.hepsiburada.com/papatya/bahce-mobilyalari-c-34001194  olacaktı.

hiç bir marka seçilmez ise  http://www.hepsiburada.com/bahce-mobilyalari-c-34001194  şeklinde bir url path oluyr.

fiyat seçildiğinde (bunu anladım :))  http://www.hepsiburada.com/bahce-mobilyalari-c-34001194?filtreler=fiyat:1000.0-1500.0  şeklinde bir parametre ekleniyor.

burada da yanısı corsair markası seçili  http://www.vatanbilgisayar.com/corsair/guc-kaynaklari-power/?opf=p1125258,p1125264,p1125272

corsair ve fps markaları seçili  http://www.vatanbilgisayar.com/fsp-corsair/guc-kaynaklari-power/?opf=p1125258,p1125264,p1125272

Hocam, iki şey aklıma takıldı, hangi kitaba baksam yanıt bulamadım,

birincisi;

vatan da fiyat seçildiğinde hepsiburada da olduğu gibi fiyat parametre olarak değil, marka gibi ön ek olarak ekleniyor;

http://www.vatanbilgisayar.com/fsp-corsair/500-1000-tl-arasi/guc-kaynaklari-power/?opf=p1125258,p1125264,p1125272

aslında bunu da anladım da üç fiyat seçeneği daha eklenince işler karıştı 🙂

http://www.vatanbilgisayar.com/fsp-corsair/100-200-tl-arasi-200-500-tl-arasi-500-1000-tl-arasi/guc-kaynaklari-power/?opf=p1125258,p1125264,p1125272

şimdi hocam, bize lisede hocalarımız derdi ki soruyu sormadan önce konuları çalışın, üstün körü sormak yerine anladığınız bölümleri anlatarak anlamadığınız yerileri sorun ben de öyle yapacağım.

bu path ler sanırım controller action id gibi değil de özel bir string ayrışmasından geçiyorlar. çünkü routing nasıl ......./milka-kinder-nestle/ diye markaları ayıklayacak ? demek ki geliştiricilerin yazdığı özel bir splitter gibi birşey var.

 

bir diğeri böyle birşey olsa bile, /100-200-tl-arasi-200-500-tl-arasi-500-1000-tl-arasi/ çok saçma geldi. nedeni şu;

/100-200-tl-arasi+200-500-tl-arasi+500-1000-tl-arasi/ gibi nesne elemeye yönelik özel bir karakter yok. hangi tire işaretine göre

/100-200-tl-arasi-200-500-tl-arasi-500-1000-tl-arasi/ ifadesini ayırabilecek splitter ona aklım ermedi.

 

anlamadığım ikinci şey ise şuydu;

http://www.hepsiburada.com/bahce-mobilyalari-c-34001194

bahce-mobilyalari-c-34001194 bir kategori.

 

burada da  http://www.hepsiburada.com/rainbow-corona-bahce-oturma-grubu-p-HRYCLCORONA

rainbow-corona-bahce-oturma-grubu-p-HRYCLCORONA bir ürün.

 

burada da  http://www.hepsiburada.com/globo

globo bir marka.

 

splitter yazsam bile.. hangisi marka, hangisi kategori, hangisi ürün nasıl ayırt edeceğim ?

 
Gönderildi : 11/05/2017 01:57

(@eravse)
Gönderiler: 1753
Üye
 

Evet nirvanaya doğru adım adım 🙂

 

Şimdi dün gece sordugunuz sorular ( sabah oluyor aslında) genel Asp.Net routing ile ilgili idi route icinde kategoriyi dinamik bırakarak birden fazla kategoriyi pass gecer sekilde bırakıyor HB ( hepsi burada)

yani

{category}/{product} patterninde gidiyor . Fakat durum e ticaret olunca farklı sıstemler devreye gırer daha komplex ındexleme yapan ve fıyat algoritmaları olan sıstemler gibi

categori etiketine acategori-bkategori-ckategori geldiginde kontroller icinde split işlemi uygulayıp bu programlar uzerınden sorgu yapılabılır

Elasticsearch

Apacher Solr

Fredhooper

vb arama ve ındexleme algoritması iceren sistemler bunları kullanırlar bu anlattıgım fıyat ıcınde gecerlı bır durumdur maks fıyatı yada renk beden guruplamaları gıbı

Bu arada HB bildiğim kadarı ile SAP Hybris platformunu kullanmakta bu da demın yazdıgım sıstemlerden en az bırını kendı uzerınde extentıon olarak calıstırmaktadır.

splitter yazsam bile hangisi marka, hangisi kategori, hangisi ürün nasıl ayırt edeceğim ?

url yı splır edın / karakterinden eger array size 2 ise ( 0 -1 -2 ) bu bir categori altındadır 1 ise sizin kategori stringinizdir

eger 1 ıtem var sa ( 0 - 1 ) bu sızın markalı bır urun sayganızdır 1 ıncı elementı alıp - den split edin 0 ıncı ıtem sızın markanız olacaktır 1 ıtem sızın modelınız 2 ıncı ıtem ıse urun ısmı olacaktır 4 ve 5 de produc code vb ozellıkler olacaktır.

Bu sekılde dusunerek bır daha ıncelemenızı tavsıye ederım

 

saygılar

 

 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 11/05/2017 02:07

(@AyseSayari)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

merhaba o vakit normal bir routing mekanizması yerine özel bir program satın alarak (öyle mi deniyor) bir nevi paket program e ticaret sitelerinin aydın doğan için olan aşırı kurumsal sürümü 🙂 diyebiliriz, öyle bir program satın alarak özel bir çözüm ile split, routing falan yapıyorlar demek ki...

fakat siz split yapsanız /100-200-tl-arasi-200-500-tl-arasi-500-1000-tl-arasi/ sözcüklerini nasıl split yapardınız ? anladım sap hybris yapıyor da :))

ben nasıl yapıcam 🙂 arada splitter yapan /n joker elemanı yok ki, bitişik kelime de değil örneğinizdeki gibi

acategory-bcatgory-ckategory gibi 🙂

tireye göre yapsam, iki tire olacağı yerde 10 tire var 🙂

çok dırdır ettim 🙂

 
Gönderildi : 11/05/2017 02:35

(@eravse)
Gönderiler: 1753
Üye
 

ben olsam soyle yapardım (verdıgınız ornege gore )

 

var complateString = "100-200-tl-arasi-200-500-tl-arasi-500-1000-tl-arasi";

// birinci split

stirng[] firstSplited = complateString.Split('-arasi');

foreach(var item in firstSplited)

{

    string[] secondSplit = item.split('-');

     foreach(var secondItem in secondSplit)

        {

            var ilkFiyat = secondItem[0] ; // 100

  var ikinciFiyat = secondItem[1] ; // 200

 

 

        }

 

}

 

şimdi hızlı ve teorik olarak yukarıdaki splitlemeyi anlattım ama senın ornegın uc fıyatı aynı anda bana verdıgı ıcın bunun ıcınde bır class yapıp List<ProductSearchPriceParam> gibi bir listeye bunları ekleyeyı sonrasında controller uzerıne tek seferde gondermekte fayda var umarım anlatabıldım bu arada o programların cogu ucretsız oluyor AD ıle alakası yok 🙂

 

saygılar

 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 14/05/2017 04:27

Paylaş: