<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های محمد قاسمی</title><link>https://virgool.ir/feed/@mr_hacker</link><description></description><language>fa</language><pubDate>2026-11-11 07:48:02</pubDate><image><url>https://files.virgool.ir/upload/users/371276/avatar/XqhifC.png</url><title>محمد قاسمی</title><link>https://virgool.ir/@mr_hacker</link></image><item><title>تامین امنیت وردپرس - قسمت اول</title><link>https://virgool.ir/@mr_hacker/wp-sec-oz80oqcyufup</link><description>سلام محمد قاسمی هستم و امروز با یه مقاله خفـــــــــــــــــــــــــــــــن در خدمت شما عزیزان هستم !!!تو این مطلب میخوایم ، وردپرس رو به یه سپــر ضـــــــــــــــد گولوله تبدیل کنیم ??امنیت وردپرس توی 3 مرحله تامین میشه و توی این مقاله به اولین کاری که باعث امن شدن وردپرس میشه میپردازیمقبل از اینکه شروع کنیم بهتون بگم اگه سوالی داشتید میتونید در پیج اینستاگرام من اونو مطرح کنید ?راه ورود رو امن کن!اولین کاری که برای امن کردن وردپرس انجام بدین ، اینه که صفحه ورودشو امن کنید !قبل از اینکه محدودیتی روی صفحه وردپرسمون بزاریم ، شکل ورودشو اینجوریه که هر چند بار میشع رو پسورد رو تست کرد و تایید دو مرحله ای هم نداره و ادرسش هم wp-login.php هستش :صفحه ورود وردپرساما اولین کاری که برای امن کردن صفحه ورود وردپرس باید انجام بدیم ، انتخاب یک رمز عبور بسیار قوی و یک نام کاربری عجیـــــــــــــــــــــــب ! چرا عجیب ، چون کرک شدن صفحه ، سخت تر بشه ! مثلا :LiaE0a0hekstمیبینید که اصلا عبارت مشخصی توش وجود نداره و یه نام کاربری حدس ناپذیره!!حالا که نام کاربری رو امن کردیم ، باید رمز عبور قدرتمند بسازیم ، که میتونیم از سایت پسورد ساز استفاده کنیمتیک های فیلد اول رو کامل میزنیم تا رمز عبورمون قوی تر بشه ، سطح تولید پسورد رو روی حالت پیش فرض خودش یعنی «انتخاب» میزاریم و روی ساخت پسورد کلیک میکنیم و پسورد رو کپی میکنیم!!به همین سادگی!!!حالا باید به روش دوم امن کردن صفحه ورود وردپرس بپردازیم .فرض کنیم رمز عبور ما هر چقدر هم قوی باشه و نام کاربری هم حدس ناپذیر باشه ، اما هر چقدر هم شما قوی بشید ، باز هم هکرها قوی تر هستند ! ، پس ما هم باید نهایت امنیت رو پیاده سازی کنیم که هکر کارش سخت بشه !افزونه DoLoginSecurity میتونه محدودیت هایی رو روی صفحه ی ورود وردپرس اعمال کنه ،که طبق گفته ی خود تیم سازنده با یک کلیک وردپرس رو در برار حمله بروت فورس یا جستجوی فراگیر امن میکنه و بدست WPDO ساخته شده . برای نصب این افزونه کافیه وارد پنل ادمین وردپرستون بشید و از منوی سمت راست گزینه ی «افزونه ها» رو انتخاب کنید :و در صفحه ای که باز شده ، گزینه ی «افزودن» رو از بالای صفحه انتخاب کنید :و بعد عبارت «DoLogin» رو در فیلد «جستجوی افزونه ها ...» جستجو کنید :و بر روی گزینه «هم اکنون نصب کن»کلیک کنید و بعد انرا فعال نمایید :حالا افزونه نصب شده است و میتوانید از ان استفاده کنید!!برای انجام تنظیمات مربوط به صفحه ی ورود به قسمت «تنظیمات» بروید و گزینه ی «DoLoginSecurity» را انتخاب نمایید :خب حالا در صفحه ای که اومده میتونید ، محدودیت هایی رو اعمال کنید ، مثلا میتونید تعداد دفعات تلاش برای ورود رو محدود کنید ، که بعد از مثلا 3 بار تلاش باید 10 دقیقه منتظر باشید تا بتونید دوباره تست کنید و به همین صورته که از حمله بروت فورس یا جستجوی فراگیر جلوگیری میشه :برای محدود کردن تعداد دفعات تلاش مجاز باید گزینه «تعداد تلاش مجاز» و «تعداد دقیقه تلاش» رو روی عدد دلخواه بزارید . اما کاری که میتونه خیلی امنیت صفحه وردپرستون رو بالاتر ببره فعال کردن تایید دو مرحله ای با اس ام اسه که برای هر بار ورود یک پیامک که درونش کد تایید هست رو به شماره ای که در پروفایلتون تنظیم کردید میفرسته و در صفحه ی ورود ازتون میخواد که اون کد رو وارد کنید تا بتونید وارد بشید ! برای فعال کردن این نوع اهراز هویت باید گزینه «Two Step SMS Auth» و «تایید اجباری پیامکی» رو فعال کنید :حالا دیگه مطمئنن صفحه ی ورود وردپرستون امنِ امن شده!!!!ممنون که این مقاله رو خوندید ? در مقاله بعدی به راه دوم امن کردن وردپرس میپردازیم !تگ های پست :هک و امنیت - امنیت - امنیت وردپرس - تامین وردپرس - وردپرس ضد گلوله - تامین امنیت سایت </description><category>محمد قاسمی</category><author>محمد قاسمی</author><pubDate>Thu, 21 Jan 2021 16:50:30 +0330</pubDate></item><item><title>برنامه نویسی امن - قسمت دوم</title><link>https://virgool.ir/@mr_hacker/برنامه-نویسی-امن-قسمت-دوم-uvcuyzjifqju</link><description>سلام محمد قاسمی هستم و توی این پست قرار در مورد برنامه نویسی امن صحبت کنمدر این قسمت قرار هست در مورد احراز هویت امن یا (Secure Authentication) صحبتی داشته باشیماولین موردی که میخوام بهش اشاره کنم که باعث امن شدن احراز هویت میشه استفاده نکردن از جاوا اسکریپت در احراز هویت استشاید سوال زیر براتون پیش اومده باشه که چرا نباید از جاوا اسکریپت در احراز هویت استفاده کنیم؟؟کد های جاوا اسکریپت در سورس کد نمایش داده میشوند!!!ببینید وقتی من یه کد جاوا اسکریپت در یه فایل مینویسم هر کسی میتونه به اون کد دسترسی پیدا کنهبرای درک بهتر به مثال زیر توجه کنید :مدیر یک سایت میخواهد به پنل ادمین وارد شود و از جاوا اسکریپت برای احراز هویت استفاده میکند :اگر به کد سایت نگاه کنیم متوجه استفاده از جاوا اسکریپت در احراز هویت مدیر میشویم:خب می بینید که دو ورودی از کاربر گرفته میشه و با جاوا اسکریپت بررسی میشهدر قسمت احراز هویت نام کاربری جاوا اسکریپت بررسی میکند که اگر نام کاربری برابر با عبارت &#39;admin&#39; برابر بود , بررسی میکند که رمز عبور کاربر هم برابر با عبارت &#39;admin156465&#39; باشد و اگر اینطور بود ادامه ی کار یعنی ساخت کوکی مدیر , پیام خوش امد مدیر , ریدایرکت به پنل و .... را انجام دهدخب حالا هکر میتواند با بررسی کد منبع سایت به نام کاربری و رمز عبور مدیر دست پیدا کند!!پس از کدام زبان برای احراز هویت استفاده کنیم؟؟یا این که فریمورک های زیادی مانند django ,flask و... راه حلی برای احراز هویت مدیر دارند اما امیتوان از php هم برای احراز هویت کاربران استفاده کرد زبان php کد های خود را به کاربر نشان نمی دهد و اسناد php قابل بارگیری نخواهند بودبرای همین از php برای احراز هویت , ثبت نام و .. استفاده می شوداحراز هویت با php به این صورت است که ارتباطی امن با پایگاه داده (database) برقرار میشود و ورودی های کاربر با محتوایی که در پایگاه داده وجود دارد مقایسه و عمل احراز هویت صورت میگیردموضوعی که اینجاست این است که ورودی های کاربر چگونه به سند php ارسال میشوند؟؟؟در html یک تگ فرم میتواند با متد های post یا get محتوا را از یک سند به سند php دیگر ارسال کنداین متد ها تفاوت هایی دارند :متد get : این متد محتوا را از طریق url به سند php ارسال میکند و امنیت کمتری نسبت به متد post داردمتد post : این متد به صورت مخفی محتوا را ارسال میکند و بدون بررسی بسته ی http نمی توان متوجه محتوا شد !و php هم با متغیر POST_$ محتوا ی post و با GET_$ محتوای get را دریافت میکنددر پایگاه داده table ها و column ها وجود دارند که هر کدام کاربردی دارندبرای مثال table مدیر column هایی به نام pass و user دارد که مدیر انها را مشخص میکند و برای ورود مدیر از همان استفاده میشود .برای درک بیشتر این موضوع به مثال زیر توجه کنید:مدیر یک سایت میخواهد به پنل ادمین وارد شود و از php برای احراز هویت استفاده میکند :خب اگه سورس را نگاه کنیم هیچ فایل یا کد جاوا اسکریپتی وجود ندارد:خب حالا می بینید که اطلاعات با متد post به سند auth.php که با زبان php هم هست ارسال میشودبرای بررسی بیشتر کد php سایت را بررسی میکنیم:(در حالت عادی نمیتوان php های سایت را مشاهده کرد اما چون سایت برای خودم هست برای بررسی بیشتر انرا مشاهده میکنیم)می بینید که با متغیر post محتوای user و pass گرفته میشود و با محتوای درن پایگاه داده مقایسه میشودمتغیر DATABASE_CONTENT$  از پایگاه داده می اید و بخش اول ان [0] نام کاربری است و بخش دوم ان [1] رمز عبور استاین بود از احراز هویت امن در برنامه نویسی موفق و پیروز باشید </description><category>محمد قاسمی</category><author>محمد قاسمی</author><pubDate>Thu, 12 Nov 2020 14:57:29 +0330</pubDate></item><item><title>برنامه نویسی امن - قسمت اول</title><link>https://virgool.ir/@mr_hacker/برنامه-نویسی-امن-قسمت-اول-demhzoehkmz1</link><description>سلام محمد قاسمی هستم و توی این پست قرار در مورد برنامه نویسی امن صحبت کنماولین موردی که میخوام بهش اشاره کنم مقابله در برابر حملات اسکریپت نویسی فرا وبگاهی یا xss هستحملات xss بیشتر در ورودی ها صورت میگیرد که پالایش نشده و فیلتر نشده باشند اما فقط این نیست! حملات xss ممکن است در هر جایی رخ دهد . برای مثال در فایل اپلودر ها .وقتی یه فایل اپلودر فایلی رو اپلود میکنه متوجه نام فایل هم میشود حالا فکر کنید ما پیلود xss را در نام فایل وارد کرده باشیم و برای مثال از فرمتی نامناسب استفاده کرده باشیمسایت اروری به ما میدهد که فایل .... با فرمت نامناسب اپلود شده است حالا چون سایت نام فایل را به ما نشان میدهد کد ما هم اجرا خواهد شد به این صورت :حالا اگر کد php سایت را ببینیم متوجه میشویم که بدون فیلتر کردن نام فایل ان را مینویسد:متغیر file_name$ بدون هیچ فیلترینگی در یک تگ p قرار میگیردحالا اگر به صفحه نگاه کنیم نام فایل را نمی بینیم:دلیلش این است که پیلود ما در سورس سایت قرار میگیرد و اجرا میشود :روش جلوگیریحالا اگر ما نام فایل یا متغیر file_name$ را فیلتر کنیم چه اتفاقی می افتد ؟؟معلومه!! پیلود دیگه اجرا نمیشه :می بینید که پیلود اجرا نشد حالا اگر بخواهیم دلیلش را بررسی کنیم باید سورس سایت را مشاهده کنیم:خب می بینید که سایت کاملا نام فایل را فیلتر کردهحالا به کد php این سایت نگاه میکنیم تا دقیق تر به بررسی پرداخته باشیم:مثل اینکه سایت متغیر file_name$ را با تابع htmlentities فیلتر کرده است این تابع کاراکتر هایی که ممکن است خطرناک باشد را فیلتر می کندیعنی یک لیست سیاه از کاراکترهایی مانند &lt; یا &gt; را به کارکتر هایی دیگر مانند &amp;lt و &amp;gt تبدیل میکنداین بود از بحث نام فایل ها که توسعه دهندگان حتما باید این نکته را رعایت کنند ممنون که این مقاله را خواندید  موفق و پیروز باشید</description><category>محمد قاسمی</category><author>محمد قاسمی</author><pubDate>Wed, 11 Nov 2020 14:20:17 +0330</pubDate></item></channel></rss>