Forum
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
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
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
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
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..
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
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.
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
Estağfurullah siz kusuruma bakmayin zaman ayırdınız teşekkr ederim.
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;
aslında bunu da anladım da üç fiyat seçeneği daha eklenince işler karıştı 🙂
ş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 ?
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
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 🙂
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