گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

وقتی توی سایت از قابلیت File Upload استفاده میکنیم باید چه نکات امنیتی را رعایت کنیم؟

نویسنده:
۲۶ اردیبهشت ۹۴

خیلی از مواقع پیش میاد که ما توی وب سایتی که توسعه میدیم نیازمند ارسال فایل بواسطه کاربر هستیم. مثل مواقعی که نیاز داریم کاربر عکس پروفایل یا رزومه‌اش را ارسال کنه. اگرچه پروسه ارسال فایل کلاً موضوع پیچیده‌ای نیست اما یکسری مسائل امنیتی هست که حتماً باید رعایت بشه.

ارسال فایل

۱ – یکی از مواردی که اهمیت داره این هست که فایل را با نام اصلیش ذخیره نکنیم و اگه در آینده نیاز به بازیابی فایل با همون نام اصلیش هست فقط کافیه در زمان ذخیره فایل نامش را توی پایگاه داده نگهداری کنیم. نام فایل جدید میتونه یک MD5 HASH یا حتی شماره رکورد با اندکی تغییرات منطقی باشه.

۲ – بهتره فایل را خارج از Document Root ذخیره کنیم. در این صورت هیچ‌کس امکان دسترسی از طریق وب به مسیر ذخیره شده را نداره.

۳ – حتماً توی برنامتون برای فایل‌ها محدودیت حجم بگذارین ، قطعاً وقتی یک عکس پروفایل در فرمت JPG و سایز ۱۲۰×۱۰۰ در DPI ۷۲ مورد نیاز هست در نتیجه حجم ارسالی نباید مثلاً از ۱۰۰ کیلوبایت بیشتر بشه.

۴ – علاوه بر محدودیت حجم حتماً محدودیت تعداد فایل در یک Request را از طریق max_file_uploads اعمال کنید تا از حملات DOS در امان باشین.

۵ – توجه داشته باشین که پسوند فایل‌ها نشون دهنده این نیستند که فایل واقعاً کارایی مرتبط با پسوندش را داره. یک فایل ممکنه با پسوند jpg ارسال بشه ولی واقعاً یک فایل عکس نباشه و سمت سرور یا کلاینت بتونه مشکلات امنیتی به وجود بیاره. شما حتما باید با استفاده از ابزار و توابع موجود بررسی عمیق‌تر از پسوند فایل انجام بدین. مثلاً در مورد فایل‌های عکس میتونین با استفاده از تابع getimagesize اطلاعات بیشتری را نسبت به فایل بدست بیارین و کاملاً مطمئن بشین اون فایل یک عکسه.

۶ – متأسفانه با وجود بررسی پسوند و Header و استفاده از ابزار شناسایی دیگه باز هم امکان داره فایل مورد نظر آلوده به Bug ها و Exploit های فایل‌های مختلف از جمله همون عکس‌ها باشه.در این رابطه بهترین کار این هست که از طریق یک نرم‌افزار Malware Scan بررسی های بیشتری انجام بدیم. این کار را میشه با ارسال فایل (با استفاده از CURL) به سایت‌های Malware Scan آنلاین مثل virustotal.com انجام داد ، خودتون هم میتونید میزبانی اختصاصی بگیرین و نرم‌افزار مورد نظرتون را نصب کنید و از طریق ابزار اون فایل‌ها را بررسی کنید.

۷ – پس از Upload فایل روی سرور حتماً سطح دسترسی به فایل را کنترل کنید. البته مدیر سیستم عموما موارد امنیتی را انجام داده و مانع از دسترسی های غیر ضروری مثل اجرایی بودن شده اما شما هم میتونید این دسترسی ها را کنترل کنید. این کنترل هم میتونه روی خود فایل باشه یا روی پوشه ای که فایل در اون ذخیره میشه.

امیدوارم با رعایت موارد بالا امنیت بخش ارسال فایل سایت شما بهبود پیدا کنه.

پنجمین قهرمانی سپاهان در لیگ برتر ایران جام خلیج فارس

نویسنده:
۲۵ اردیبهشت ۹۴

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

پنجمین قهرمانی سپاهان

یک تشکر جانانه از محرم نویدکیا دارم که بهترین بازیکن تاریخ فولاد سپاهان و اصفهان هستش و قطعاً میدونه در بین طرفداران سپاهان بسیار بسیار محبوب هست.

به امید قهرمانی ذوب آهن در فینال جام حذفی.

حضور یوونتوس در فینال باشگاه های اروپا و شانس بازگشت به قله اروپا

نویسنده:
۲۴ اردیبهشت ۹۴

من عموما در مورد فوتبال اروپا نمی نویسم ولی واقعاً سخته که تیم باشگاهی مورد علاقت بعد از سال‌ها دوری از سطح اول فوتبال اروپا بتونه تیم پر مهره ای مثل رئال مادرید را حذف کنه و به دیدار فینال باشگاه های اروپا بره و من به عنوان یکی از طرفداران دو آتیشه فوتبال ایتالیا و باشگاه یوونتوس از کنار این موضوع به سادگی رد بشم.

یوونتوس ۹۴

یوونتوس پس از کالچو-پولی و سقوط به سری «ب» ایتالیا و کسر امتیاز و جریمه مالی در سال ۲۰۰۶ و ممانعت از حضور در باشگاه های اروپا در همان سال با مشکلات بسیاری تونست بعد از ۶ سال در ۲۰۱۲ دوباره قهرمانی ایتالیا را به دست بیاره و چهار سال متمادی هم قهرمان بشه. اما متاسفانه در لیگ های اروپایی از سال ۲۰۰۲ به بعد موفق نبوده و نتونسته در فینال حاضر بشه.

خلاصه اینکه میدونم یوونتوس توی ایران کم طرفدار نداره و خیلی از دوستان مثل من از موفقیت‌های اخیر یوونتوس در اروپا بسیار خوشحال هستند.

به امید قهرمانی یوونتوس در فینال ۱۶ خرداد ۹۴ – آلمان – برلین.

تفاوت Email Marketing با فرستادن Spam چیه ؟

نویسنده:
۲۱ اردیبهشت ۹۴

من در زمینه Email Marketing فعالیت نمیکنم اما بارها پیش اومده که یک مشتری درخواست ارسال ایمیل‌های تبلیغاتی و انبوه را داشته. در گذشته این درخواست ها را قبول میکردم و نرم‌افزار کارایی هم براش تولید کرده بودم اما اخیراً اگه کسی چنین درخواستی بکنه قطعاً به سمت سرویس های ارسال ایمیل تبلیغاتی داخلی و خارجی مثل MailChimp راهنماییش میکنم و شرّش را از سرم کوتاه میکنم چون به دردسرهای بعدش که Blacklist شدن و Spam Marked شدن و درگیری با ISP و Datacenter میزبانی وب هست نمی ارزه !

ایمیل مارکتینگ

دلیلش خیلی خیلی واضحه ، همه مشتریانی که من باهاشون سر و کار داشتم تبلیغات سالم را از اسپم تشخیص نمیدهند. حتی بعد از اینکه سرویس ارسال ایمیل انبوه را خریداری میکنند اولین خواسته بعدیشون خریدن لیست آدرس ایمیل هست ! و این را هم نمیدونن که اولین گام در ارسال اسپم همین ارسال های کور کورانه هستش.

اصلی ترین فرق ایمیل مارکتینگ با اسپم فرستادن اینه که افرادی که شما بهشون ایمیل می‌زنید خودشون درخواست دریافت چنین ایمیل‌هایی را از طریق فرم‌های آنلاین روی وب سایت شما ، فرم کاغذی یا جلسه کاری رو در رو داشته اند. در این صورت شما باید از فکر جمع کردن آدرس‌های ایمیل افراد گمنام و ناشناس پرهیز کنید.

این خیلی طبیعیه که مدت زمان بیشتری طول میکشه تا شما مخاطب انبوهی داشته باشین اما در این زمینه باید بگم که مخاطب با کیفیت از کمیت اونها مهمتره. حتی شما باید به صورت دوره ای ایمیلی برای مخاطب ها بفرستین و از اون ها بپرسین آیا همچنان علاقه به دریافت ایمیل‌های شما دارند ؟ و افرادی که به این ایمیل‌ها پاسخ نمیدهند را هم از لیستتون حذف کنید. ممکنه شما دارین برای مخاطبی ایمیل میفرستین که یا شما را به عنوان Spam به نرم‌افزار یا سایت دریافت ایمیلش معرفی کرده یا کلاً دیگه به ایمیلش مراجعه نمیکنه.

در آخر هم حتماً میدونین که برای جدا کردن خودتون از یک ارسال کننده اسپم باید امکان لغو عضویت وی را فراهم کنین و حتماً آدرس فیزیکی محل کار خودتون را به همراه شماره تماس در زیر ایمیل بنویسید تا گیرنده احساس کنه ایمیل را از یک شخص یا مجموعه گرفته و نه یک ربات‌ !

وقتی مایکروسافت ویرایشگر اسکریپت نویسی رایگان تولید میکنه !

نویسنده:
۱۹ اردیبهشت ۹۴

امروز در حال وبگردی بودم که به یک مورد جالب برخورد کردم. حتماً میدونید که چند وقت پیش مایکروسافت از مستقل از سکو شدن محصولاتش گفته بود و اینکه در آینده Net Framework. و بسیاری از محصولاتش روی سیستم عامل های غیر ویندوزی مثل لینوکس ارائه خواهند شد.

95

اما ارائه یک نرم‌افزار ویرایشگر کد توسط مایکروسافت به نام Microsoft Visual Studio Code و نمایش دموی اون روی سیستم عامل اوبونتو توسط تیم ارائه کننده در کنفرانس مربوطه به تاریخ ۲۵ آوریل ۲۰۱۵ موضوع قابل توجهی هستش که حس کنجکاوی را واقعاً قلقلک میده.

خیلی علاقه‌مند هستم که نصب و امتحانش کنم و به شما هم توصیه میکنم حداقل این تلاش سورس باز جدید مایکروسافت را بهش شانس بدین ، باشد که مقبول اُفتد.

پی نوشت : توی سایتشون یک کلیپ ویدئویی خوب هست که امکاناتش را نشون میده.