پیاده سازی رمزنگاری کجا و به چه صورتی انجام میشود؟ ما دادهها را قبل از اینکه آنها را به کارت SD ارسال کنیم، نگهداری و رمز میکنیم. به این ترتیب دادههای ما در کارت SD در فرمتی که میتواند توسط هر کسی خوانده شود نوشته شده و هرگز اجازه دسترسی به آنها مقدور نمیباشد. یک مهاجم که اطلاعات رمزنگاری شده شما را جمعآوری میکند باید ابتدا از رمز عبور برای رمزگشایی دادهها قبل از دسترسی به آنها استفاده کند که در این مرحله دچار سردرگمی ...
روزگاری دریافت مجوزهای SSL، گران و سخت بود. برای رفع این مشکلات مؤسسههایی مانند Let's Encrypt پدیدار شدهاند که مجوزهای SSL رایگانی را برای سایتهای اینترنتی صادر میکنند. دسترسی به سرویس آنها از طریق API ارائه شدهی آن، بسیار ساده بوده، کار با آن رایگان است و نیاز به مجوز خاصی ندارد. فقط باید دقت داشت که گواهینامههای Let's Encrypt دو ماهه هستند و وبسرور سایت شما باید اجازهی دسترسی به محل ویژهای را که جهت تعیین اعتبار دومین درخواس ...
ایمن کردن برنامه تولید شده در برابر حملات: هنگام دریافت اطلاعات از کاربر، باید دادهها در جایی ذخیره شوند. اینکه دادهها در کجا ذخیره و نگه داری شوند و از نفوذ به آنها جلوگیری شود، نهایت امن بودن برنامه شما را نشان میدهد. باید فرض کنید که برنامه شما به طور مستقیم یا غیرمستقیم در برخی موارد مورد حمله قرار میگیرد و تنها چیزی که بین حفاظت از اطلاعات کاربر نهایی، شما و حفاظت از دادهها مطرح میشود برعهده شما خواهد بود. چند نمونه از ...
پس از فعالسازی HTTPS بر روی سایت خود، در جهت بهبود امنیت برنامههای ASP.NET MVC 5.x، میتوان درخواست کوکیهای صرفا ارسال شدهی از طریق اتصالهای HTTPS، اجبار به استفادهی از آدرسهای HTTPS و هدایت خودکار به آدرسهای HTTPS را نیز فعالسازی کرد.
کوکیهایی که باید HTTPS only شوند
کوکیهای پیشفرض برنامههای ASP.NET به صورت HTTP Only به سمت کلاینت ارسال میشوند. این کوکیها توسط اسکریپتها قابل خوانده شدن نیستند و به ...
همانطور که در مطالب قبلی توضیح داده شد، اندروید بر روی هستهی لینوکس نگارش 2.6 به بالا اجرا میشود. در این مطلب قصد داریم تا نگاهی به معماری امنیتی اندروید داشته باشیم. Privilege Separation به چه معناست؟ هستهی اندروید یک مدل جداسازی امتیازی ( Privilege separation ) را در زمان اجرای برنامههای کاربردی اجرا میکند. این مورد به این معنا است که مانند سیستم یونیکس، سیستمعامل اندروید به یک برنامه نیاز دارد تا تنها با شناسهی کاربر خود ...
در مطلب قبلی در مورد سه ویژگی اصلی معماری اندروید توضیحاتی ارائه شد و در این مطلب ویژگی آخر از این معماری را توضیح خواهم داد: Applications در معماری اندروید چه کاربردی دارد؟ اجزای یک اپلیکیشن در پلتفرم اندروید جزء اصلی ارائه به کاربر نهایی میباشد؛ بدین معنا که کاربر تنها با برنامه در ارتباط است و سیستم عامل، میزبان آن برنامه یا اپلیکیشن خواهد بود. اپلیکیشن جاییست که لیست تماسها، شماره تلفنها، پیامهای کاربر و ... در آنج ...
سیستم دسترسی در یک سیستم، همیشه برای من چالش برانگیز بوده است. با دیدن کدهای مختلف از افراد مختلف، شیوههای گوناگونی از کدنویسی را دیدهام؛ ولی یکی از نکاتی که در بین آنها بررسی نشده بود و یا از آن غافل مانده بودند، بررسی بعضی از عناصر موجود در ویو بود که باید با توجه به نقش کاربر سیستم، وضعیت آن بررسی میشد. برای مثال تصور کنید که شما دو کاربر دارید که هر دو سطح دسترسی به پروفایل کاربران دیگر را دارند. ولی یکی از کاربرها این توانایی ر ...
پس از نصب SDK جدید NET Core 2.1. و ایجاد یک برنامهی جدید بر اساس آن توسط دستور«dotnet new mvc» و سپس اجرای آن به کمک دستور «dotnet run»، تصویر جدیدی مشاهده میشود:
در نگارشهای قبلی، پس از اجرای برنامه، صرفا یک سطر زیر نمایش داده میشد: Now listening on: http://localhost:5000
اما اکنون تبدیل شدهاست به دو سطر که اولی HTTPS است و دومی HTTP معمولی: Now listening on: https://localhost:5001
Now ...
برای فعالسازی SSL در ASP.NET Core میتوانیم از ویژگی RequireHttps برای کنترلرها و همچنین اکشنمتدها استفاده کنیم: [RequireHttps]
public class AccountController : Controller
{
public IActionResult Login()
{
return Content("Login Page");
}
}
اکنون اگر پروژه را اجرا کنید، خروجی به صورت زیر خواهد بود و اگر به آدرس Account/Login مراجعه کنید، چیزی در خروجی نمایش داده ن ...
قصد داریم در طی یک سری مطلب، یک کلاینت Angular 5.x را برای مطلب « اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity » تهیه کنیم. البته این سری، مستقل از قسمت سمت سرور آن تهیه خواهد شد و صرفا در حد دریافت توکن از سرور و یا ارسال مشخصات کاربر جهت لاگین، نیاز بیشتری به قسمت سمت سرور آن ندارد و تاکید آن بر روی مباحث سمت کلاینت Angular است. بنابراین اینکه چگونه این توکن را تولید میکنید، در اینجا اهمیتی ندارد و کلیات آن ...