بایگانی دسته: برنامه نویسی

رمزگشایی آنلاین MD5

در پست قبلی، تا تونستم راجع به پسوردهای ناامن (مثل ۱۱۱ و ۸۸۸۸ و ۱۲۳۴ و …) گفتم. اما این بار میخوام یه چیز بهتر معرفی کنم 🙂
شده تا حالا، از روی شیطنت (یا شایدم خباثت) ، قصد کرده باشید که دیتابیستون رو باز کنید و پسورد کاربرانتون رو بخونید؟ اما شکست خوردید. خب مشخصه. معمولا سیستم های مدیریت محتوا که برنامه نویس درست و حسابی پشتشون باشه، پسورد رو هش میکنن، حالا با MD5 یا چیزای دیگه. خب، کدی که برای شما معنی نداره، برای اون سیستم معنا داره. در واقع، اون سیستم رشته هش شده رو در دیتابیس شما ذخیره میکنه، وقتی کاربر پسورد خودش رو وارد میکنه (مثلا فرض کنیم پسورد @AB12342 هست) ، دوباره هش میشه و با اون چیزی که در دیتابیس قرار داره، تطبیقش میده. گاهی اوقات هم ممکنه دوستتون یه نامه بخواد بهتون بزنه و بخواد اذیتتون کنه ، اون رو هش میکنه و میفرسته!
برای شکستن این رمزها، میتونید از دکرپشن های آنلاین هم استفاده کنید. سایت MD5Online دقیقا این کارو براتون انجام میده 🙂
خوش باشید و بخندید و از رمزگشایی برای یادگیری استفاده کنید، نه اذیت کردن مردم! یا در جهت رفاه مردم (مثلا اگر پسورد دوستتون بعد از رمزگشایی ۱۱۱۱۱ در اومد، بهش بگید ناامنه 🙂 ).

بعدا نوشت : وبسایت قاتل هش هم چنین کاری رو میکنه 🙂
و نکته ای که یادم رفت بگم، اینه که این سایتها از توی یه دیکشنری چک میکنن و در لحظه پسوردی رو براتون نمیشکنن.
موفق باشید 🙂

Share

چه کار کنیم تا در صورت هک شدن، امنیتمان تامین باشد؟

پس از این که شبکه فیس‌نما (یا شبکه «وزین» خودخوانده) هک شد، و فایل هشت مگابایتی که حاوی پسورد های این شبکه، یوزرنیم و ایمیل ها بود، منتشر شد؛ تعداد زیادی از وبلاگ ها در موردش نوشتند. من هم تصمیم گرفتم تا در موردش کمی بنویسم! البته من بیشتر سمت کاربر رو در نظر میگیرم و نکاتی راجع به پسورد میگم.

نکاتی برای ادمین و طراح سایت

اول از همه، اگر قراره از اسکرپیت آماده استفاده کنید، نسخه های Null شده یا کرک شده به درد کار جدی نمیخورن! دلیلش هم پر واضحه، این اسکریپتها یه بلایی سرشون اومده و همین بلایی که کرکر سرشون آورده، میتونه کاملا باعث نابودی سایت شما، در صورت یک حمله حتی ساده بشه. نکته دوم، بعضی از اسکریپت ها به صورت پیشفرض امکان تنظیم پسورد رو دارن، مثلا تنظیم کنید پسورد حداقل ۸ کاراکتر باشه و … . اونهایی هم که ندارن، پلاگین ویژه این کار رو در اختیار کاربران میزارن، که میتونید یکی از همون پلاگین ها رو دریافت و نصب کنید (البته باز هم دقت کنید، یا پلاگینی رو استفاده کنید که خود توسعه دهنده ها ارائه کردند، یا اونی که توسعه دهنده های سرشناس و معتبر!). بهترین نمونه برای تامین امنیت پسورد، نصاب ویندوز سرور هست، که کاربر رو مجبور میکنه تا به شکل خاص پسورد گذاری کنه.
در آخر، اگر توانش رو ندارید که خودتون سیستم درست و حسابی طراحی کنید، یا اصلا سایت نزنید، یا از کسی کمک بگیرید که کارش تامین امنیته (یا این که خودتون یاد بگیرید و تست های لازم رو انجام بدید!).

کاربر ها چه کنند؟

خب اصولا کاربر ها مهمترین کاری که باید بکنند اینه که در وبگاه های ناشناس و نامعتبر عضو نشن ، اگر هم میخوان عضو شن، پسوردی متفاوت با اون چه که در ایمیل یا سایر اکانت ها استفاده میکنن، تعیین کنند. اگر هم دیدید که وبسایت مورد استفاده، حساسیتی روی این که شما چه پسوردی استفاده میکنید، نداره، بهتره بازم درش عضو نشید. قدم بعدی، پسورد و یوزرنیم رو دو عدد یا کلمه متفاوت انتخاب کنید. من در فایلی که هکر منتشر کرده، یوزرنیم هایی که با mehdi (یا Mehdi) شروع میشدند یا این یوزری که mehdi بود رو دیدم، و با خودم گفتم که بهتره که ببینم این یوزر، از چه پسوردی استفاده میکرده، کنجکاو شدم و با خودم گفتم که کلمه mehdi رو با استفاده از وبسایت OnlineMD5 هش کنم و توی این فایل دنبالش بگردم، بله! فوقع ما وقع! تعدادی از یوزرهایی که یوزرشون Mehdi بود یا با Mehdi شروع میشد، از پسورد mehdi استفاده میکردند! پسوردهای ناامنی مثل ۱۲۳۴۵۶ ، ۷۷۷۷ و ۱۱۱۱۱۱ هم به وفور در اون فایل مشاهده میشه. نکته دیگری که کاربر ها باید دقت کنن، این هست که سایتی که میخواید توش عضو شید، حتما یک ایمیل فعالسازی براتون بفرسته، وگرنه باز هم نمیشه به اون سایت اعتماد کرد، چون هکر میتونه با یک ایمیل fake یوزر بسازه و به راحتی شرارت کنه!
خب، من نکته دیگه ای به ذهنم نمیرسه، فعلا هم شاد باشید و بخندید تا هک بعدی!

Share

انتشار نسخه نهایی ۲.۱ جبیر برای پردازنده های ۶۴ بیت و کوبی برد

JabirOS for Cubieboard
بالاخره نسخه جدید هم منتشر کردیم!! نیازی به توضیح نیست، میتونید از این لینک نسخه ویژه کوبی رو دانلود کنید!
Screenshot from 2014-12-04 10:44:36
در مورد نسخه دسکتاپ هم بگم که این نسخه این بار روی KVM ساخته و تست شده و خب، این خودش یک پیشرفته :))
برای دریافت این نسخه هم میتونید به این لینک مراجعه کنید!

Share

فراز هایی از زبان برنامه نویسی Ruby

دو سه تا پست اخیر، تقریباً هیچ ربطی به موضوع مرسوم و معمول وبلاگ، یعنی کامپیوتر و تکنولوژی و …، نداشتند. خب، حالا تصمیم گرفتم تا در مورد زبان مورد علاقم، یعنی روبی مطلب بنویسیم! همونطور که میدونید، قبلاً هم منابعی برای یادگیری روبی معرفی کردم. این زبان، یک زبان اسکریپتی و ساده هست، و نحو مشابه پایتون داره (از نظر من، از پایتون آسون تره، ولی خب این فقط نظر منه 🙂 ).

کاربردها

روبی، میتونه برای نوشتن برنامه های روزمره، یا نوشتن backend وبسایت ها و … استفاده بشه. همچنین، برای ایجاد و انجام پروژه های سریع  و دم دستی هم بسیار بسیار خوب عمل میکنه، به طوری که خودم شخصا خیلی از مساله های ساده برنامه نویسی رو به کمک روبی، حل میکنم. روبی، امکانات بسیار خوبی برای  کار با متون و آرایه ها داره و از این جهت به زبان پرل نزدیکه. در واقع، در متن، میخوام روبی رو به همون شکلی که خودم یاد گرفتم، باز آموزی کنم 🙂

نصب روبی

برای نصب روبی، زحمت زیادی لازم نیست، اگر کاربر اوبونتو هستید، کافیه کد زیر رو در ترمینال اجرا کنید :

sudo apt-get install ruby

خب، با استفاده از کد فوق، روبی روی سیستم شما، نصب میشه. روبی یک شل اینتراکتیو داره که میتونید در اون، به صورت Real Time نتیجه دستوراتی که مینویسید رو ببینید. شل اینتراکتیو این زبان هم از طریق دستور irb قابل دسترسیه.

مثالهای ساده متنی

همونطوری که گفتم، این زبان یکی از خوبی هاش اینه که برای کار با متن و آرایه ها، خیلی امکانات خوبی داره، به طوری که میتونه کمک خوبی باشه برای کسی که نیاز داره یک متن رو پردازش کنه! . خب، زیاد حرف زدم، الان کافیه توی ترمینال بزنید irb و این مثال ها رو اجرا کنید :

puts "Hello, World"

دستور بالا، دقیقا همون کار دستور زیر رو در زبان Go میکنه :

Println("Hello World")

خیلی خوب، یک سری مثال دیگه (با قرار دادن اسم خودم در متغیر name) :

name = "Muhammadreza"
puts name
puts name.reverse

که در خط اول، من اسم خودم رو به متغیر name نسبت دادم، در خط دوم خواستم اسمم رو چاپ کنه، و در خط سوم، اسمم رو برعکس چاپ کنه! (این برعکس چاپ کردن، میتونه خیلی وقتا، خیلی مفید باشه 🙂 ).

و مثالهای بیشتر …؟

متاسفانه، اینجا نمیتونم مثالهای بیشتری بیارم، ولی سعی میکنم بزودی هرچی از Ruby میدونم رو درون یک فایل PDF منتشر کنم تا همه کسانی که به این زبان علاقه دارند، بتونند در این زبان راه بیفتن.

موفق باشید!

Share

دانلود جزوه سیستم اعداد به فرمت PDF

با سلام.

اون دسته از دانشجویان رشته کامپیوتر (چه نرم افزار و چه سخت افزار) که نیاز دارند تا سیستم اعداد رو بهتر یاد بگیرند، میتونن این جزوه رو مطالعه کنند. این جزوه رو خودم چندین بار بررسی کردم و همه چیزش خوب و به جاس، و حجمش هم کمه و برای مطالعه سریع میشه ازش استفاده کرد.

دانلود جزوه

Share

منابعی برای یادگیری زبان Ruby

زبان Ruby هم یکی از زبان های مورد علاقه من هست، و بیشتر علاقه من به دلیل وجود ابزارهایی مثل RubyOnRails هست. در این پست، چند تا رفرنس رو معرفی میکنم تا با استفاده از اون، بتونید روبی رو سریع یاد بگیرید. لازمه بگم که روبی یک زبان بسیار سطح بالا و اسکریپتی هست، و اگر یک بکگراند از برنامه نویسی داشته باشید، میتونید با یک روز وقت گذاشتن، درست و حسابی یادش بگیرید!

  1. روبی را امتحان کنید
  2. روبی در بیست دقیقه
  3. یادگیری روبی

این سه رفرنس، مراجع خودم هم بودن و به سادگی تونستم با استفاده از اونها، روبی رو تا حد زیادی یاد بگیرم، و سعی میکنم اگر رفرنس دیگری هم یافتم، معرفی کنم 🙂

Share

دانلود اسلایدهای ارائه های من در کلاس آزمایشگاه کامپیوتر – Go

من قبل تر در شبکه های اجتماعی، اعلام کردم که اسلایدهای خودم رو روی گیتهاب قرار دادم. و احتمالا اگر اهل فن باشید، ریپوزیتوری گیتهاب برای شما راحت تر هست که ازش فایل رو دریافت کنید چون میتونید اگر اشکال و ایرادی بود، بعد از اینکه درستش کردید، بهم بگید تا درخواست pull تون رو تایید کنم 🙂 .

خب من روز سه شنبه، بیست ونهم  مهرماه زبان Go رو در کلاس آزمایشگاه مبانی کامپیوتر ارائه کردم و در موردش حرف هایی زدم. خلاصه حرف های من درون این اسلاید قرار داره و اگر سوالی داشتید میتونید اینجا یا در iran-bsd.ir بپرسید 🙂

Share

نخستین بتا از جبیر ۲.۱

Screenshot from 2014-10-15 20:11:47

خوشحالم که انتشار نخستین نسخه بتا از جبیر او اس ۲.۱ رو اعلام کنم. با کلی فاصله زمانی از انتشار نسخه ۲.۰.۱ منتشر شده رو اعلام کنم. در این نسخه کلی نقشه کشیدیم که جبیر رو روز به روز بهتر میکنه و ما رو تا تبدیل شدن به یک سیستم عامل کامل و جامع پیش میبره. اول بگم که این نسخه، کدبیس مبتنی بر FreeBSD 10.1 داره ، و البته یک تغییر اساسی و باحال هم کرده، تغییری که کم تر کسی جرات کنه انجامش بده! در ادامه تغییرات رو خواهیم دید :

مجوز نشر جدید

همونطور که میدونید، مجوز BSD-alike که در FreeBSD به کار رفته، Simplified BSD نام داره که قابل تغییر با مجوز های دیگه هست. من و رضا و محمد، به عنوان سازندگان جبیر، تصمیم به این گرفتیم که مجوز خودمون رو داشته باشیم. مجوز ما، مجوز منبع عمومی پروژه جبیر نام داره. با وجود اینکه این مجوز با GPL سازگاری نداره (در صورتی که متن رو بخونید می بینید که اصلا نمیتونید حاصل تغییراتتون رو با مجوز GPLv3 یا بالاتر منتشر کنید) ولی شخصا به بنیاد نرم افزار آزاد و همچنین OSI ایمیل هایی ارسال کردم تا تاییدیه این دو بنیاد رو دریافت کنیم (اگر هم دریافت نکنیم مهم نیست، مهم اینه که الان کلکسیونی از بهترین ها رو داریم).

بقیه چیزها چی؟

خب، در وبسایت خود جبیر هم توضیحات زیادی راجع به کادمیم و سرویس های تحت وب ندادم. ولی برای نسخه ۳ نقشه های زیادی در سر دارم که ان‌شاءالله به زودی به انجام میرسونیم و در نسخه ۳ یک سیستم عامل کامل و جامع رو در اختیار مردم قرار میدیم.

اطلاعات بیشتر و دانلود

Share

چه افزونه هایی را روی وردپرس نصب کنیم؟

اگر قصد دارید وبلاگ نویسی کنید، من به شما استفاده از وردپرس رو به عنوان سیستم مدیریت محتوا (CMS) پیشنهاد میکنم. اما، چند تا مشکل بزرگ پیش روی هر وردپرس کار یا بهتر بگم هر وبلاگ نویسی هست. من، اینجا چند تا از این مشکلات رو لیست کردم و بعد راه حل هاش رو با استفاده از پلاگین مطرح کردم 🙂

مشکلات پیش روی ما چه هستند؟

کامنت های اسپم

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

پست شدن اتوماتیک مطالب در شبکه اجتماعی

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

کدام افزونه ها مشکلات من رو حل کردند؟

Akismet

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

WP to Twitter

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

Jetpack

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

افزونه های بیشتر

من از افزونه های Site Closed برای بستن ایندکس سایت و همچنین Page Links To برای ساخت صفحه هایی که در واقع لینک هستن، استفاده میکنم 🙂

خب، سعی کردم توی این پست هر چیزی که لازم هست رو بگم، از همه مهم تر این که اهمیت افزونه های مختلف برای یک وبلاگ نویس و بویژه یک وردپرس کار رو هم مشخص کنم 🙂

 

Share

کتاب سی پلاس پلاس، چگونگی برنامه نویسی

با سلام.

دوستانی که در دانشگاه آزاد تهران مرکزی، با استاد سید ابراهیمی کلاس داشتند، ایشون این کتاب رو معرفی کردند به عنوان مرجع درسی. من هم نسخه «فارسی» و PDF شده این کتاب رو برای شما اینجا قرار میدم تا دانلود کنید.

همچنین، این پست سنجاق شده تا دانشجویان و علاقمندان محترم بتونن دریافتش کنند 🙂

 

دانلود از این لینک

Share