حذف رکورد های تکراری قبل از رسیدن به کنترلر
200, OK
https://www.youtube.com/watch?v=lZmt_DI9-0w&ab_channel=PayamShariati icon

در این ویدیو با استفاده از HashSet رکورد های تکراری را قبل از رسیدن به کنترلر حذف میکنیم و دیگر نیازی به استفاده از Distinct یا DistinctBy وجود ندارد.

ابتدا این کار را با تایپ های پیشفرض سی شارپ مانند int و string انجام میدهیم و بعد از آن عملیات حذف رکورد های تکراری را برای کلاس هایی که خودمان ایجاد کرده ایم انجام میدهیم و به صورت کامل متد های GetHashCode و Equals را مورد بررسی قرار میدهیم و یاد میگیریم چرا با وجود اینکه همیشه از متد GetHashCode به دلیل سرعت بالاتر نسبت به Equals استفاده میکنیم ولی به متد Equals هم نیاز داریم.

حذف رکورد های تکراری قبل از رسیدن به کنترلر
کتابخانه ایجاد بارکد
200, OK
https://www.nuget.org/packages/BarcodeLib/ icon

نحوه استفاده :

public static string GenerateBarcode(string input)
{
    var barcode = new Barcode();
    var image = barcode.Encode(iType: BarcodeLib.TYPE.CODE39, StringToEncode: input, ForeColor: Color.Black, BackColor: Color.OrangeRed, Width: 200, Height: 50); 
    using var stream = new MemoryStream();
    {
        image.Save(stream, ImageFormat.Png);
    }
    return Convert.ToBase64String(stream.ToArray());
}

نحوه نمایش :

<img src="data:image/png;base64, @BarcodeHelper.GenerateBarcode("123")" />

بار کد تایپ " کد 39 " اعداد 1 تا 9، حروف A تا Z بزرگ و سیمبول های – . $ / + % را پشتیبانی میکند.

کتابخانه ایجاد بارکد
آیا برنامه نویسان سی شارپ نیازی به یادگیری فریم ورک های جاوا اسکریپت دارند ؟
200, OK
https://www.youtube.com/watch?v=9WnRInVlWbs icon

در این ویدیو Tim Corey به این سوال پاسخ میده که آیا برنامه نویسان سی شارپ نیاز دارن که Angular، React و یا Vue رو یاد بگیرن یا نه.

آیا برنامه نویسان سی شارپ نیازی به یادگیری فریم ورک های جاوا اسکریپت دارند ؟
چگونه بفهمیم فایل انتخابی واقعا عکسه یا نه ؟
200, OK
https://github.com/pShariiati/IsFileReallyImage icon

موقعی که از کاربر یک عکس رو دریافت میکنیم نیازه که بررسی شه که آیا این فایل واقعا عکسه یا نه.

برای کنترل این موضوع Attribute‌های اعتبارسنجی بهترین انتخاب هستن و با یکبار افزودن میتوان از آنها در هر جایی استفاده کرد.

سمت سرور اینکار به این صورت هست ^

اما سمت کلاینت حتی اگه بیایم فرمت فایل رو هم بررسی کنیم بازهم جوابگو نیست و میشه به راحتی فرمت یک فایل ZIP رو به PNG تغییر داد و ارسالش کرد و عملا اعتبارسنجی سمت کلاینت کار خاصی رو انجام نمیده.

در این پروژه Attribute اعتبارسنجی برای بررسی فایل که آیا واقعا عکس هست یا نه نوشته شده، هم سمت کلاینت و هم سمت سرور.

نحوه انجام کار: برای سمت کلاینت عکسی که کاربر وارد میکنه رو در داخل تگ IMG نمایش میده و اگه عکس به درستی لود بشه رخداد OnLoad تگ IMG فراخوانی میشه و اعتبارسنجی پاس میشه.

تگ IMG به کاربر نمایش داده نمیشه و به صورت display: none هستش.

از این Attribute اعتبارسنجی در کنار Attribute‌های کنترل حجم فایل هم میشه استفاده کرد که قبل از اینکه بخوایم بررسی کنیم که آیا فایل واقعا عکسه یا نه ابتدا حجم فایل مورد بررسی قرار بگیره.

چگونه بفهمیم فایل انتخابی واقعا عکسه یا نه ؟
ده روش امن سازی برنامه‌های NetCore.
301, MovedPermanently
https://www.syncfusion.com/blogs/post/10-practices-secure-asp-net-core-mvc-app.aspx icon

Improper Authentication and Session Management

Most web applications have an authentication module, and we should be careful when writing code for it. We could make mistakes like not removing the authentication cookies after a successful logout. This kind of mistake allows attackers to steal user credentials such as cookies and session values, and may result in attackers being able to access the complete application and cause major negative impacts.
 

ده روش امن سازی برنامه‌های NetCore.