'da İsteğin Yasal olup olmadığını belirleme HTML dosyalarının doğrudan kullanıcıları tarafından çekilmesini önlemek için bir httpHandler kurdum. Daha önce hiç böyle bir şey yapmadım ve çok fazla araştırma yaptıktan sonra, bir httpHandler kullanmak en iyi sonuç gibi görünüyordu. Ancak tüm eğiticiler, işleyicinin nasıl kurulacağını açıkladı ama sonra hepsi "Artık isteğin meşru olup olmadığını kontrol et!" Bunun nasıl yapılacağını açıklamaksızın.HttpHandler
Diğer etki alanlarından gelen isteklerin, örneğin, görüntü sızmasını durdurmak için nasıl durdurulacağına dair birçok örnek vardır. Ne yapmak istediğim, Açısal katmanım tarafından yapılan HTML dosyalarına yönelik isteklere izin vermek, ancak doğrudan tarayıcı tarafından yapılan istekleri engellemek. Yani, eğer Angular bir HTML şablonu isterse, onu almalıdır, ancak birisi tarayıcı çubuğuna "mysite.com/static/templates/template.html" yazıyorsa engellenmelidir.
Geldiğim çözüm, Angular'ın her istekte bulunan bir özel başlık göndermesidir; httpHandler daha sonra bu üstbilginin varlığını arar ve üstbilgi mevcutsa HTML dosyasını döndürür. Bu nedenle, talep Açısal ekosistemden gelmiyorsa, üstbilgiye sahip değildir ve geri döner. Bu yöntemle ilgili iki sorun vardır:
Biraz hassastır. Kullanıcıların, yapmaları gerekmediğinde engellendikleri (nadiren) raporlar aldık ve bunun neden gerçekleştiğini anlayamadık. JavaScript dosyaları için işe yaramamaktadır. JS dosyaları aynı şekilde yüklenmez, bu yüzden onları aynı şekilde koruyamam.
bir istek benim arayüzden meşru tarayıcı bardan doğrudan geldi, yoksa anlatmak için daha iyi bir yöntem var mı?
Ön uç açısal, arka uç .NET 4.5.