What is the MD5

میخوایم بدونیم که الگوریتم Md5 چی هست و کجاها میتونه کاربرد داشته باشه!

خب md5 یک الگوریتم یک طرفه هست یعنی میتونه یک رشته ای رو بصورت رمز در بیاره و encrypt کنه ولی برعکسش امکان پذیر نیست یعنی اگر یک متن رمز شده رو بخواید به دیتا یا رشته اصلیش برگردونید نمیتونید ! (بعدا نمونه ریاضیش رو در سایت قرار میدم که چرا یکطرفه هست!)

این الگوریتم تنها کاربردش برای ساخت انواع token ها و نگهداری اونا در انواع دیتابیس هست ! چرا ؟ چون فرضا اگر پیامی رو بخواید رمز کنید دیگه نمیتونید رمزی که تولید شده به پیام اصلی برگردونید پس در این موارد کاربرد نداره و از الگوریتم ها و روش های دیگه ای برای رمزنگاری پیام ها استفاده میشه!

در تمامی رمزنگاری ها برای اطلاعات ورود مانند لینوکس (Linux Termal & Shadow) از این نوع الگوریتم ها استفاده میشه یعنی الگوریتم های یکطرفه مانند MD5 ,SHA

Ajax Technic

بهتره بریم سر اصل مطلب ! ایجکس یا آژاکس (Ajax ) یک روش برای ارسال درخواست به سمت سرور یا دریافت پاسخ از سمت سرور هست (Request Transaction) و کاربر اصلی این روش اینه که وقتی داده (Data) جدیدی رو میخواید روی پروتکل http انتقال بدید (برای مثال درخواست های داخل یک وبسایت ) دیگه نیاز نیست صفحه از نو بارگذاری بشه ! یعنی نیاز نیست Refresh بشه ! در این دو تا تاثیر مهم داره :

  • سرعت سایت بالا میره ( speed of your Web page)
  • ترافیک خروجی از سمت سرور شما هم کاهش میده (Output Traffic of the Server)

خب این روش چجوری استفاده میشه ؟!

با استفاده از زبان قدرتمند JavaScript میتونید این کار رو انجام بدید و باید Method هم مشخص کنید که ارسال و دریافت درخواست ها چی باشه برای مثال POST یا GET و آدرس سرور هم باید مشخص کنید این درخواست ها کجا قراره بره ! (Server Address OR URL)

کد زیر یک نمونه از تابعی هست که این کار رو انجام میده (Function sample in javascript)

function loadDoc() {var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {document.getElementById(“demo”).innerHTML =this.responseText;}};xhttp.open(“GET”, “ajax_info.txt”, true);xhttp.send();}</p>

DevOPS یا SysAdmin

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

خب کلی گفتم فقط باهاش آشنا بشیم ولی قضیه بیشتر این ۲ خط هست ! 🙂

What is The Htaccess File

فایل htaccess چیه و چه کاربرد هایی داره ؟!

این فایل که بصورت پیش فرض مخفی هست (یعنی در سیستم های لینوکسی اول نام فایل با نقطه شروع میشه !) واسط بین وب سرویس و کد های شما هست و میتونه درخواست هایی که به سمت سایت شما (کد یا اسکریپت شما ) میاد رو مدیریت کنه !

حالا چه کارهایی میشه با این فایل انجام داد !

  • ریدایرکت یک در خواست به یک آدرس دیگه (Request redirection )
  • ریدایرکت یک صفحه به صفحه دیگه (Page redirection)
  • رمز گذاری روی پوشه و فایل (File or Directory Password Protection)
  • محدودیت کاربران بر اساس ip هاشون (User Limitation By ip – Access or Deny)
  • ….

چند نکته مهم :

  • نام این فایل رو میتونید تغییر بدید ولی باید به وب سرویس معرفیش کنید !
  • You can change the name of this file but you must enter the same name in your Web service configuration file !
  • استفاده از این فایل الگوی خاصی داره و باید مطالعه کنید !
  • To use this file you should learn about Htaccess rules
  • این فایل توسط همه CMS ها و Framework ها استفاده میشه !
  • This file is used by all of frameworks and CMS like Joomla and WordPress

در ادامه با من همراه باشید

Https On Your WebSite

به منظور راه اندازی Https برروی وبسایت خود ما دوراه داریم :

  • استفاده از CDN ها (Use CDN systems to do it)
  • خرید گواهینامه ssl و نصب آن روی سرور یا هاست (Buy SSL certificate and install it on you server or Host that’s possible by Cpanel or DirectAdmin )

دو نمونه CDN به شما معرفی میکنم که میتونید ازش استفاده کنید :

https://www.cloudflare.com

https://www.arvancloud.com/

به این نکته دقت داشته باشید که CDN کار های مختلفی انجام میده و هدف از CDN صرفا ارایه HTTPS نیست !

یکی از شرکت های بزرگ که میتونید ازش گواهینامه SSL بخرید شرکت Comodo هست :

https://ssl.comodo.com/ (by this link you can buy the SSL Certificate)


Secure Your Web or Server

System Securit

? How we can increase security of our Web Site or Server

: You have to check these parameters

From layer 2 on your network to layer 7

… Switches Port security and

Vlan in your Network

Firewall ruls on ips and ports and services

Traffic limitation and protection

IDS / IPS systems

Database security

Web server Security

Htaccess rules

….Check Bugs on your Backend codes – php -asp.net

Frontend Checking Like Ajax requests and Methods

Cookies Security and Tokens

Check all services on your Servers

Use Traffic Monitoring and Resource Monitoring systems

🙂 At the end of this list it’s better for you to consult a FullStack Developer like me


تفاوت IP Address و MAC Address

اول از همه باید بدونید بعنوان یک عدد ۳۲bit در لایه ۷ و بعنوان یک پروتکل در لایه ۳ استفاده میشه ! (البته اینو برای فهم بیشتر بیان کردم و برای درک بهتر میتونید این لینک رو مطالعه کنید https://tools.ietf.org/html/rfc791)

خب آیپی دارای بصورت کلی به چند کلاس تقسیم میشه :

  • calss A 1.0.0.1 to 126.255.255.254
  • calss B 128.1.0.1 to 191.255.255.254
  • calss C 192.0.1.1 to 223.255.254.254
  • calss D 224.0.0.0 to 239.255.255.255
  • calss E 240.0.0.0 to 254.255.255.254

خب اگر دقت کرده باشید رنج ۱۲۷٫۰٫۰٫۰ رو نگفتم !

این رنج به همراه کلاس D و E رزرو شدن ! و به رنج ۱۲۷ کلا میگن loop back یعنی هر وقت این رنج رو ping کنید reply خواهید دید البته اگه کارت شبکتون سالم باشه ! پس در نتیجه این یک راه بررسی کارت شبکه سالم هست ! که نکات دیگری هم در کنارش باید بدونید که در آینده میگم .

خب یک آیپی دیگه هم داریم بنام APIPA که این
۱۶۹٫۲۵۴٫۲۵۵٫۲۵۴ هست ! خب وقتی سرویس DHCP به مشکل بخوره ؛ سیستم ما بصورت پیش فرض از این آیپی استفاده میکنه ! که بازم نکته های دیگری هم وجود داره برای گفتن!

خب چند تا نکته بگم :

  • )ما از قسمتی از رنج های A,B,C برای شبکه های خصوصیمون Private استفاده میکنیم !
  • هر ISP یعنی شرکت هایی که ازشون اینترنت میگیرید رنج آیپی مخصوص بخودشون رو دارن و این رنج رو اجاره میکنن ! چرا ؟! چون یکسری مرز اینترنتی دارن AS و پروتکل BGP رو کانفیگ کردن و …. این رو پیشنهاد میکنم در دوره CCIE مطالعه کنید !
  • آیپی از ۴ قسمت تشکیل شده که قسمت ۸bit هست
  • برای تشخیص شماره شبکه و آیپی کاربرها و آیپی broad cast از چیزی استفاده میکنیم بنام Subnet mask یا net mask که به دوصورت نوشته ! هم با / میتونید بنویسید هم با خود اعداد ! چجوری ؟! مثلا سابنت یک آیپی ۲۵۵٫۲۵۵٫۲۵۵٫۰ هست پس میتونید بجاش بنویسید /۲۴ , اگر دقت کرده باشید گفتم هر قسمت ۸ بیت هست پس ۲ به توان ۸ میشه ۲۵۶ حالت یعنی از ۰ تا ۲۵۵ پس در حالت بالا که ۲۵۵٫۲۵۵٫۲۵۵٫۰ یعنی ۱۱۱۱۱۱۱۱٫۱۱۱۱۱۱۱۱٫۱۱۱۱۱۱۱۱٫۰۰۰۰۰۰۰۰ خب اینا بصورت باینری یعنی همون دودویی هستن پس این اعداد در دسیمال میشه ۲۵۵ و حالا اگر بصورت octal number بخوایم نشون بدیم تعداد ۱ هارو جمع میکنیم ! خیلی ساده پس ۲۴ تا ۱ داریم پس میشه /۲۴
  • هدف از پروتکل ip مسیر یابی در شبکه ها هست و این امر با دستگاه هایی که بهشون میگن router امکان پذیر هست و خود مسیر یابی هم پروتکل های مخصوص بخودش رو داره مثل rip , ospf , eigrp و …
  • نکته قابل توجه اینکه با اینکه ما گفتیم دستگاه ولی باید بدونیم پروتکل ospf متن باز هست یعنی ما میتونیم روی یک لینوکس کانفیگ کنیم و بعنوان روتر درون شبکه قرار بدیم !
  • پروتکل Ip در لایه ۳ به همراه پروتکل TCP کار میکنه یعنی connection oriented هست که دلیلش هم خیلی واضحه اگه اینطور نبود به هزار مشکل امنیتی بر خورد میکردیم !!!

Mac Address چیست ؟!

خب حالا میریم سراغ این یکی :

  • mac address یک آدرس در لایه ۲ هست پس در اینترنت از این آدرس هیچ استفاده ای نمیشه ! (البته نکته هایی هم داره ها )
  • این آدرس بصورت کاملا منحصر بفرد هست و کارخونه وقتی داره کارت شبکه میسازه یک شماره جدید به این آدرس اختصاص میده ولی ازونجایی که در لایه نرم افزار دست ما باز هست براحتی میتونیم این آدرس رو تغییر بدیم !
  • کی از این آدرس استفاده میکنه ! خب معلومه سرویس DHCP که رو سوییچ ها access point ها اجرا میشه ! به چه دردی میخوره ؟! خب معلومه برای اینکه ترافیک برگشتی باید از یکجایی تشخیص بده که به سمت کدوم کاربر باید بره !

پس متوجه شدیم این دوتا زیاد فرق دارند !

نکته های خیلی زیادی رو فرصت نکردم بنویسم به دو دلیل :

  • اندازه پست یهو میشد ۱۰۰۰۰ صفحه !
  • میتونید در RFC ها کاملترش رو بخونید !


آموزش برنامه نویسی ویپ (قسمت دوم)

اول از همه باید چند تا نکته که نیاز داریم بدونیم رو یادآوری کنم :

۱- ما نیاز داریم تا تماس های شهری رو به داخل سرور هدایت کنیم پس میتونیم از موارد زیر بدین جهت استفاده کنیم :

  • استفاده از کارت های ویپ که پشت کیس نصب میشن ! (Sangoma , Digium ….)
  • استفاده از ماژول های FXO در سرور ها یا گیت وی هایی که داریم !
  • استفاده از Voip Gateway ها که مارک های مختلفی دارن (Atcom , Sangoma , Linksys….

۲- بعد از اینکه تماس رو داخل سرورهامون آوردیم بصورت Direct یا Sip Trunk نیاز هست این تماس هارو آنالیز کنیم که این کار رو با استریسک (Asterisk) انجام میدیم که این هم روی الستیکس بصورت پیش فرض نصب هست ! (Elastix)

۳- ما دونوع مسیر کلی برای فایل های ویپ داریم :

  • برنامه صوتی (sound files) در مسیر /var/lib/asterisk/sounds/
  • فایل های کدهامون (code files) در مسیر /var/lib/asterisk/agi-bin/

۴- باید دقت داشته باشیم که permission و owner برای فایل های کد و صوتی خیلی مهم هستن که باید توسط دستور chown و chmod اصلاح بشن

AGI and Voip Programming

voip
voip

امروز قصد دارم شما رو با برنامه نویسی ویپ اشنا کنم !

خب برنامه نویسی ویپ یعنی چی ؟!

شما حتما تا حالا با با سیستم های ویپ و device های مختلفی نظیر سانترال ها ,  Voip  Gateway, Elasix , CUCM ….. آشنا بودید !

خب همه این حالا چیکار میکنن ؟!

خطوط شهری که بصورت analog هست رو تبدیل به digital میکنن که بتونن کارای زیر رو انجام بدن :

۱- سیستم های پاسخگوی خودکار تولید کنن (Auto Answer)

۲- بتونن تماس رو بین چندین نفر تقسیم و یا بین همدیگه هدایت کنن (Call Forwaring)

۳- بتونن ازشماره هایی که کاربر وارد میکنه مطلع بشن مثل شماره قبض یا کدملی که وارد میکنن (DTMF)

….etc

خب خیلی کارهای دیگر هم میشه انجام داد که در این مطلب نمیشه گفت چون زیاده !

برنامه نویسی ویپ (voip programming) رو قاعدتا ما برروی جایی انجام میدیم که این اجازه رو به ما داده باشه مثل سیستم های اپن سورس (OPEN SOURCE ) پس یکی از گزینه هامون استفاده از لینوکس هست (Linux) و جالبیش اینکه خود الستیکس (Elastix) هم از لینوکس سنت اوس (CentOS) استفاده میکنه !

ما برای برنامه نویسی نیاز به یک کتابخانه داریم و چون این کتابخانه قبلا نوشته شده و خیلی کارارو انجام میده قاعدتا ما ازش استفاده میکنیم و چرخ رو از نو اختراع نمیکنیم , اسم این کتابخانه (AGI Library) هست و ما میتونیم با باز زبان های PHP , Bash , Python , …. از این کتابخانه استفاده کنیم !

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

موفق باشید

Choose What You Want !

love or war

According to the last post of this Website:www.tavak.net , you can choose what do you want in the fut

ure
Love
Humanity
Culture
Color of the skin
Color of the Hair
….
?!All of the people in the World are the same or not
By this Link You can say

https://world.tavak.net/

We can create the world a better place if we want !

Iman Tavakoli