معمولاً اطلاعات حساس موجود در بانکهای اطلاعاتی سازمانها به شکل Encrypt شده ذخیره میشوند تا به راحتی امکان دسترسی به آنها وجود نداشته باشد اما یکی از چالشهایی که اغلب سازمانها با آن مواجه هستند امکان دسترسی فیزیکی برخی از کاربران، هکرها و... به فایلهای فیزیکی بانکهای اطلاعاتی و نسخه پشتیبان آنها میباشد.
نظرات مطالب
غنی سازی کامپایلر C# 9.0 با افزونهها
پروژهی «Meziantou.DotNet.CodingStandard» کار تولید خودکار لیست بررسی کنندههای یک آنالیزر و تبدیل آنها به فایلهای editorconfig. را انجام میدهد که در آنها این بررسی کنندهها به حالت warning تنظیم شدهاند. علت اینجا است که ممکن است خود آنالیزر، اینها را به صورت پیشفرض در حالت توصیه، تنظیم کرده باشد. هدف، سختگیری بیشتر است.
در مستندات خود مایکروسافت نیز پیکیج WebOptimizer معرفی شده و با توجه به اینکه asp.net core به صورت native مبحث bundling و minification را پوشش نمیدهد، بهترین گزینه همین بسته میباشد. اما چند نکته در این بسته وجود داره:
- وقتی شما از تنظیمات پیش فرض (بدون اعمال هیچ کانفیگی) استفاده کنید، تمام فایلهای استاتیکی که در صفحه در خواست شده را minify خواهد کرد.
برای مثال دو فایل bootstrap.min.css و index.css را در یک صفحه رفرنس داده اید. در هر ریکوئست (اگر تنظیمات را اعمال نکرده باشید) تمامی فایلها را minify خواهد کرد که این امر سبب کاهش مدت زمان بارگذاری صفحه و خطا در نمایش و چیدمان خواهد شد.
اما میتوانید یک مسیر را به صورت سراسری مشخص کنید و تعدادی فایل دیگر را هم مشخص کنید تا فایلهای از پیش minify شده را نیز به اشتباه فشرده سازی نکند.
برای مثال میتوان گفت فقط تمام فایلهای مسیر wwwroot/myJsFiles را فشرده سازی کن و در این صورت کاری به فولدر wwwroot/myLibraries نخواهد داشت. یا فقط فایلهای b.js، a.js و c.js فشرده شوند.
برای مثال دو فایل bootstrap.min.css و index.css را در یک صفحه رفرنس داده اید. در هر ریکوئست (اگر تنظیمات را اعمال نکرده باشید) تمامی فایلها را minify خواهد کرد که این امر سبب کاهش مدت زمان بارگذاری صفحه و خطا در نمایش و چیدمان خواهد شد.
اما میتوانید یک مسیر را به صورت سراسری مشخص کنید و تعدادی فایل دیگر را هم مشخص کنید تا فایلهای از پیش minify شده را نیز به اشتباه فشرده سازی نکند.
برای مثال میتوان گفت فقط تمام فایلهای مسیر wwwroot/myJsFiles را فشرده سازی کن و در این صورت کاری به فولدر wwwroot/myLibraries نخواهد داشت. یا فقط فایلهای b.js، a.js و c.js فشرده شوند.
- minify در زمان runtime: هر بار که ریکوئست به یک فایل استاتیک ارسال شود، این پکیج در همان لحظه عملیات minify را شروع خواهد کرد.
(در بارگذاری اولیه و قبل از cache مرورگر) البته که اگر نکته اول را رعایت کرده باشید، پرفرمنس را نه تنها کاهش میدهد، بلکه باعث افزایش هم میشود. ولی قطعا در حالتی که از قبل فایلها minify شده باشند، پرفرمنس بیشتر خواهد بود.
(در بارگذاری اولیه و قبل از cache مرورگر) البته که اگر نکته اول را رعایت کرده باشید، پرفرمنس را نه تنها کاهش میدهد، بلکه باعث افزایش هم میشود. ولی قطعا در حالتی که از قبل فایلها minify شده باشند، پرفرمنس بیشتر خواهد بود.
- متاسفانه این پکیج فشرده سازی html را ندارد و نمونه خوبی در حد این بسته را پیدا نکردم.
این مورد AuthenticationStateProvider یکی از سرویسهای توکار بلیزور میباشد که AddServerSideBlazor موجب افزوده شدن آن به سیستم میشود. در این حالت هم اگر بخواهیم حتی این متد را هم صدا بزنیم باز موجب خطاهای دیگری هم میشود.
بعضی از سرویسها هم مثل اتصال به دیتابیس به عنوان مثال از رشته اتصال موجود در فایلهای appSettings خوانده میشوند که نیاز به کلاس Configuration هم دارند.
نظرات مطالب
بررسی روش آپلود فایلها در ASP.NET Core
اگرکلاینتها ویندوزی نباشند چطور؟مثلا برای api ما که با دات نت و با استفاده از IFormFile فایلهای ارسالی رو ذخیره میکنیم، یک کلاینت اندرویدی میتونه فایل ارسال کنه؟ یابایدازاون کلاینت خاص با فرمت base64فقط فایلها رو دریافت کرد؟
سلام،
گاهی در پروژههای blazor نیاز میشود که از صفحات razor به جای کامپوننتهای razor استفاده نمود.(درحقیقت از فایلهای a.cshtml به جای a.razor)
آیا راهی هست که هم صفحات و هم کامپوننتهای razor فقط از یک layout استفاده کنند یا اینکه مجبوریم برای صفحات razor یک layout جداگانه درنظر بگیریم؟
با سپاس فراوان.
برا منم همچین اتفاقی میافتاد. بدلیل اینکه فایلهای js مربوط به jquery.validation رو نمیشناسه. که من با گذاشتن کد زیر در کلاس BundleConfig در داخل ساب RegisterBundles ، این مشکل رفع شد. تو سرور ببینید فایلهای jquery.validation رو لود میکنه یا نه.
BundleTable.EnableOptimizations = False;
نظرات مطالب
React 16x - قسمت 34 - توزیع برنامه
با سلام؛ چه راه حلی برای جلوگیری از کش شدن فایلهای ریکت هست. وقتی پروژه برای بار دوم آپلود میشود (به دلیل تغییرات) رو سرور، و اینکه کاربرا مجبور نشوند (یا خیلیها هم نمیدونن) که باید ctrl+f5 بزنند که تغییرات جدید سایت رو هم ببینن؟
نظرات مطالب
بررسی روش آپلود فایلها در ASP.NET Core
با سلام؛ چطوری امکان آپلود فایل از مسیر لوکال کاربر نباشد و از مسیر share شبکه باشد. زمان انتخاب فایل برای آپلود از مسیر شبکه که share هست رو باز کنند. فایلهای اون مسیر را انتخاب و آپلود کنند. آیا از نظر امنیتی امکان پذیر میباشد؟
پروژهای که بر اساس دستور dotnet new mvc و به کمک SDK جدید ایجاد میشود (این دستور وابستگی به IDE شما ندارد)، فقط به همراه فایلهای نهایی یکسری کتابخانهی جاوا اسکریپتی و CSS ای است و راهی را برای مدیریت آنها اضافه نکردهاند. بنابراین یا باید از روش مطلب جاری استفاده کنید (نمونهاش در اینجا) و یا از روش «LibMan».