همانطور که می دانید از یک آدرس آی پی (IP) برای شناسایی دیوایس ها در یک شبکه استفاده می شود. آدرس ip برای هر دیوایس مانند کد ملی اختصاصی می باشد (یک دیوایس می تواند چندین آیپی داشته باشد). به طور عمده دو نوع آدرس IP وجود دارد که در این مقاله به نحوه پیدا کردن آن خواهیم پرداخت.
IP خصوصی در یک شبکه محلی استفاده می شود. از این IP برای شناسایی رایانه در داخل شبکه LAN استفاده می شود. به آی پی های خصوصی نمی توان مستقیماً از طریق اینترنت دسترسی پیدا کرد.
آدرس IP عمومی یا خارجی توسط ارائه دهنده خدمات اینترنت شما (ISP) ارائه می شود. اگر شبکه با استفاده از تکنیک موسوم به NAT (ترجمه آدرس شبکه) تنظیم شود ، چندین کامپیوتر می توانند یک IP عمومی منفرد داشته باشند. از آنجا که IP عمومی معمولاً رایگان نیست ، مردم از ترکیبی از آدرسهای IP خصوصی که به یک آدرس IP عمومی متصل می شوند استفاده می کنند تا اینترنت را در هر رایانه شبکه در یک شبکه خصوصی اجرا کنند.
اگر می خواهید اطلاعات شبکه رایانه خود را بدانید، می توانید آن را از چندین مکان دریافت کرد. در ادامه برخی مکان ها را بررسی کرده و در آخر گزینه خط فرمان (cmd) را بررسی می کنیم.
حال در ادامه چگونگی پیدا کردن آی پی از طریق Command Prompt را بررسی خواهیم کرد.
ابتدا cmd را اجرا می کنیم. (از طریق منو استارت یا از طریق run به این صورت که کلید ترکیبی ویندوز و R را فشار می دهیم تا محیط ران باز شود و سپس cmd را تایپ کرده و اینتر را می زنیم.)
می توانید از دستور زیر برای جستجوی آدرس IP استفاده کنید.
1 | ipconfig |

این خلاصه ای از تمام رابط های شبکه متصل از جمله آدرس IP اختصاص داده شده را به شما نشان می دهد. اگر می خواهید اطلاعات کاملی از تمام رابط های شبکه در رایانه خود داشته باشید ، می توانید دستور زیر را اجرا کنید:
1 | ipconfig /all |
بعضی اوقات لازم می شود که آدرس IP خارجی خود را بدانیم. برای پیدا کردن آن از طریق خط فرمان به صورت زیر عمل می کنید. لطفا توجه داشته باشید که برای استفاده از دستورات ذکر شده باید به اینترنت متصل شوید.
اگر شبکه خانگی دارید ، می توانید این دستورات را در یک دستگاه اجرا کنید حتی اگر چندین دستگاه به اینترنت متصل باشند. همه آنها باید IP عمومی یکسان داشته باشند.
ما می توانیم با استفاده از دستور nslookup و سرویس OpenDNS ، اطلاعات IP خارجی را بدست آوریم. فقط کافی است دستور زیر را در دستور فرمان خود اجرا کنید و آدرس IP خارجی خود را دریافت خواهید کرد.
1 | nslookup myip.opendns.com. resolver1.opendns.com |

سرویس های دیگری نیز وجود دارد که از طریق آن ها می توانید در محیط کامند لاین آی پی پابلیک خود را پیدا کنید. شما میتوانید با وارد کردن هر کدام از دستورات زیر در cmd آیپی پابلیک خود را پیدا کنید.
1 | curl "http://myexternalip.com/raw" |
1 | curl icanhazip.com |
1 | curl -4 <a href="http://icanhazip.com/" |
همچنین می توانید از دستورات PowerShell برای دریافت IP خارجی بدون استفاده از ابزار جستجوی IP شخص ثالث استفاده کنید.
PowerShell را با رفتن به Run -> powerhell باز کنید. سپس دستور زیر را اجرا کنید.
1 | Invoke-RestMethod http://ipinfo.io/json | Select -exp ip |

چند سرویس در اینترنت وجود دارد که می توانند با باز کردن یک صفحه وب ، IP عمومی را به شما نشان دهند. فواید برخی از این خدمات این است که آنها میزبان سایر موارد مرتبط با آن مانند مکان IP ، نام ISP ، پروتکل اینترنت (آدرس ipv4 و ipv6) و غیره را به شما نشان می دهد:

وقتی شک دارید ، همیشه می توانید به روتر خود بروید که اطلاعات دقیق در مورد IP عمومی و سایر اطلاعات شبکه اختصاص داده شده از ISP خود را نشان می دهد. امیدوارم این مطلب برای شما دوستان کالی بویزی مفید واقع شده باشد.
من خودم به عنوان یک کاربر ویندوز، به این معتقدم که صرفا استفاده از کنترل پنل و محیط گرافیکی ویندوز می تواند در انجام بسیاری کارها محدودیت ایجاد کند. اگر تصمیم دارید کنترلی مطلق بر شبکه و تمام امکاناتی که سیستم عامل ارائه می دهد داشته باشبد، باید کار کردن با محیط CMD را شروع کنید.
اگر قبلا با محیط CMD کار نکرده اید اصلا نگران نباشید در این مقاله ما وارد بحث های جزئی نمی شویم بلکه چند دستور ساده ولی بسیار کاربردی را آورده ایم که می توانید برای کنترل شبکه های بی سیم از آن ها استفاده کنید.

دستور ping یکی از ابزارهای کاربردی در تست و خطایابی یا Troubleshooting شبکه است. با استفاده از دستور ping می توانید اطلاعات مهمی در مورد اتصال یا عدم اتصال کلاینت به شبکه، نام کامپیوتر، وجود Noise در شبکه، نوع سیستم عامل و… بدست آورید.
استفاده از دستور ping بسیار ساده بوده و در عین حال اطلاعات بسیار ارزشمند و مفیدی را در اختیار ما قرار می دهد. برای استفاده از این دستور و بدست آوردن اطلاعات کافی دستور ping را در محیط CMD وارد کرده و جلوی آن آی پی یا هاست مورد نظر خود را وارد کنید.
پس از فشار دادن دکمه enter این دستور به صورت پیش فرض 4 بسته تستی را به آدرس آی پی مورد نظر ارسال می کند و نتیجه برقرار بودن یا نبودن ارتباط TCP/IP را با آدرس مورد نظر نمایش می دهد.

در تصویر بالا جند عدد تحت عنوان TTL مشاهده می کنید که مدت زمان پاسخگویی و رسیدن بسته TCP/IP به آدرس وارد شده را نمایش می دهند.
اگر پاسخی از مقصد دریافت نشود به معنای برقرار نبودن ارتباط می باشد. همچنین از طریق TTL در عمل پینگ میتوان نوع سیستم عامل ها را تشخیص داد.
همانطور که در بالا گفته شد این دستور به صورت پیش فرض 4 بسته را ارسال می کند اما می توانید با دستور زیر تعداد بسته های مشابه ارسالی را نیز تغییر دهید:
1 | ping www.google.com -n 10 |
و مدت زمان پایان کار را نیز می توانید با استفاده از دستور زیر تغییر دهید که واحد آن بر حسب میلی ثانیه است:
1 | ping www.google.com -w 6000 |
دستور tracert با ارسال بسته های ICMP با TTL های متفاوت مسیر را مشخص می کند.
منظور از مسیر این است که شما وقتی سایت Kaliboys.com را در گوگل سرچ می کنید این درخواست چه مسیری را باید طی کند تا به kaliboys.com برسد.
به عنوان مثال فرض کنید یک شرکت که در چندین شهر مختلف شعبه دارد ارتباط خود را با برخی از شعب از دست داده که این مشکل می تواند دلایل مختلفی داشته باشد، مثلا یک یا چند روتر از کار افتاده باشند یا مسیر بین روترها دچار اختلال شده باشد. اینجاست که دستور tracert به کار می آید و می توان با استفاده از آن محدوده مشکل پیش آمده را تعیین کرد.
این دستور با ارسال بسته های ICMP با TTL های متفاوت مسیر را مشخص می کند. بسته های ارسال شده به مقصد با گذر از هر روتر حداقل یکی از TTL های آن کاهش می یابد.
تا زمانی بسته های TTL ارسال می شوند که به حد مجاز آن برسیم یا اینکه مسیر ارسال بسته ها به مقصد برسد. در تصویر زیر می توانید یک مثال در استفاده از این دستور را ببینید.

این دستور به صورت خلاصه خط به خط اطلاعاتی از هر HUB می نویسد که این اطلاعات شامل تاخیر بین شما و آن هاب خاص و آدرس آی پی آن هاب می شود. (در صورت وجود نام دامنه آن را نیز مشخص می کند)
به نظر شما دلیل اینکه سه تاخیر را در هر هاب می بینیم چیست؟
دستور tracert برای ردیابی از دست دادن یا کند بودن بسته ها سه بسته در هر هاپ را ارسال می کند که معمولا آمار دقیقی نیستند و بهتر است میانگین این یه مورد را محاسبه کنیم.
دستور pathing نیز شبیه به دستور tracert می باشد اما حاوی اطلاعات بیشتر و به همین دلیل اجرای آن نیز زمان بیشتری را می گیرد.
این دستور پس از ارسال بسته ها به مقصد معین مسیر گرفته شده را تجزیه و تحلیل می کند و تلفات بسته ها را محاسبه کرده و برای شما نمایش می دهد. در تصویر زیر می توانید یک نمونه استفاده از این دستور را ببینید:

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

خروجی پیش فرض هر آداپتور شبکه را در سیستم شما و نحوه کارکرد آن را نشان می دهد. برای پاک کردن حافظه پنهان DNS می توانید از دستور زیر استفاده کنید:
1 | ipconfig /flushdns |
هر دستگاهی که مطابق با استانداردهای IEEE 802 باشد یک آدرس mac منحصر به فرد دارد. سازنده آدرس های مک را در سخت افزار دستگاه ذخیره می کند. برخی از افراد از آدرس های مک برای محدود کردن اینکه کدام دستگاه ها می توانند به شبکه وصل شوند استفاده می کنند. برای نمونه می توانید تصویر زیر را ببینید:

تعداد آدرس های مک در شبکه شما به تعداد آداپتورهای مرتبط بستگی دارد، یعنی ممکن است بیش از یک آدرس مک را مشاهده کنید.
دستور nslookup مخفف Name Server Lookup می باشد. این دستور استفاده ها و قدرت های فراوانی دارد اما اکثرا از آن به عنوان پیدا کردن آی پی در پشت نام دامنه خاص است. به عنوان مثال می توانید تصویر زیر را ببینید:

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

به صورت پیش فرض این دستور همه اتصالات در سیستم شما را نشان می دهد که آیا این اتصالات در شبکه هستند یا در از طریق اینترنت. توجه کنید که اتصال فعال صرفا به معنای انتقال داده ها نیست بلکه به معنای پورت باز و آماده برای پذیرش یک اتصال باشد.
در واقع این دستور بیشتر برای کاربران عادی به دلیل توانایی آن در نمایش اطلاعات درگاه مفید است.
دستور netsh مخفف Network Shell می باشد. این یک دستور cmd برای شبکه است که به شما این امکان را می دهد تقریبا هر آداپتور شبکه روی سیستم خود را با جرئیات مشاهده و پیکر بندی کنید.
اجرای دستور netsh به تنهایی، cmd را به حالت shell network تغییر می دهد. می توانید در تصاویر زیر موارد استفاده از این دستورات را ببینید:

تمام دستورات در یک زمینه در تصویر زیر آمده اند:

به عنوان مثال شما می توانید با استفاده از دستور زیر همه درایوهای شبکه بی سیم را روی سیستم و ویژگی های آن ها مشاهده کنید:
1 | netsh wlan show drivers |
شبکه shell یک چیز پیچیده ای است که بررسی آن نیازمند مقاله ای کامل می باشد اگر در مورد آن چیزی نمی دانستید می توانید در مورد آن در گوگل سرچ کنید!
سئو جوملا
سئو جوملا با تنظیمات پیش فرض به هیچ وجه با سئو وردپرس قابل مقایسه نیست . بنا بر این برای بهبود وضعیت سئو جوملا باید موارد بسیار زیادی را در نظر گرفته و با دقت پیاده سازی کنید . سئو جوملا تا پیش از نسخه های ۱٫۶ به حدی بی کیفیت و نا امید کننده بود که رسما عده بسیار زیادی به دلیل ضعف در بهینه سازی آن را رها کرده و به وردپرس روی آوردند . با گذشت زمان و با تولید نسخه های جدید تر جوملا وضعیت سئو جوملا تا حدود زیادی بهینه تر و قدرتمند تر شد . برای بهبود سئو جوملا باید شناخت عمیق تری نسبت به مفاهیم سئو در مقایسه با یک وبمستر وردپرسی داشته باشید
اگر قصد شروع کار با سیستم مدیریت محتوای قدرتمند جوملا را دارید ، به شما نسخه های ۲٫۵ به بالا و مخصوصا نسخه پایدار ۲٫۵ جملا را توصیه میکنیم . سئو جوملا در نسخه ۲٫۵ به شکل قابل ملاحظه ای پیشرفت داشته است . نسخه ۳ جوملا نیز در حال پیشرفت و کامل شدن است و پیشرفت های بسیاری از نظر سئو داشته است .
فارسی کردن لینک ها در جوملا
یکی از بزرگ ترین ایرادات سئو جوملا در فرمت و نحوه لینک دهی و پیوند یکتا آن است . در مفهوم کلی سئو ، لینک ها باید کوتاه و زیبا باشند . لینک ها باید از یک فرمت منطقی مشخص پیروی کنند تا گوگل به مرور زمان نحوه آدرس دهی لینک های وب سایت شما را بشناسد . این دقیقا بر عکس آن چیزی است که جوملا در نحوه آدرس دهی لینک ها از آن استفاده میکند . یکی از دلایل ضعیف بودن سئو جوملا دقیقا همین موضوع است . برای حل این مشکل باید امکان بازنویسی url ها را فعال کنیم . بنا بر این قسمت Use URL rewriting را در قسمت تنظیمات سئو جوملا فعال کرده و سپس فایل htaccess.txt را به .htaccess تغییر نام دهید . حالا میتوانید فرمت دلخواه لینک های وب سایت خود را مشخص کنید که توصیه ما به شما لینک های فارسی است (مانند همین وب سایت) . آدرس فارسی لینک ها و تکررا کلمات کلیدی هر پست در آن وضعیت سئو جوملا شما را افزایش خواهد داد .
قالب سریع و استاندارد و تاثیر آن بر سو جوملا
با استفاده از یک قالب ساده و سریع مطابق با استاندارد های W3 سرعت بارگذاری و لود شدن سایت خود را بالا برده و یک قدم مثبت در بهبود سئو جوملا بردارید . استفاده زیاد از جاوا و حتی فلش در سایت و قالب ، سبب افت سئو جوملا و در نتیجه افت در پیج رنک گوگل و کاهش بازدید سایت خواهد شد . قالب جوملا باید کم حجم باشد . بنا بر این از استفاده از عکس های پر حجم در قالب جوملا خود پرهیز کنید و تا حد امکان قالب را بر پایه HTM طراحی کنید .
بهینه سازی در تصاویر و عکس ها
عکس های استفاده شده در سایت مبتنی بر جوملای شما باید کم حجم باشند تا سرعت لود سایت را کند نکنند . استفاده از متن جایگزین و توضیحات در عکس ها ضرور است . با رعایت کردن این موضوع و بهینه سازی تصاویر در وب سایت متبنی بر جوملا یک قدم دیگر در بهبود سئو جوملا بر خواهید داشت .
استفاده از هاست حرفه ای جوملا
یک هاست حرفه ای و میزبانی وب با کیفیت باعث بهبود سئو جوملا میشود . سیستم مدیریت محتوا جوملا به دلیل طراحی خاص و استفاده وسطع از توابع و برنامه های مختلف در لینوکس نیاز به یک هاست حرفه ای و قدرتمند دارد . به همین دلیل به شما استفاده از یک سرویس حرفه ای هاست جوملا را توصیه میکنیم .تا حد امکان از یک هاست اشتراکی خوب استفاده کنید و در صورت عدم داشتن تسلط بر لینوکس و مدیریت سرور مجازی از خرید آن خود داری کنید . وب سرور توصیه شده جوملا آپاچی و لایت اسپید است . از میزبانی جوملا بر روی سرور های ویندوزی خود داری کنید .
پاک کردن /images/ از فایل robots.txt
اگر از با کمک generator خود جوملا اقدام به ساخت فایل robots.txt میکنید حتما پوشه عکس ها را یا Allow کنید یا از حالت Disallow خارج کرده و خط مربوطه را حذف کنید . سئو جوملا بدون ایندکس شدن عکس ها غیر ممکن خواهند بود . این یکی از عجیب ترین عملکرد های جوملا در ضد سئو است . ایندکس شدن تصاویر در گوگل یکی از روش های جذب ترافیک و بهینه سازی وب سایت است و عدم استفاده از آن پیامد های منفی برای سئو وب سایت شما به ارمغان خواهد آورد .
نصب JCE Editor در جوملا
با کمک این ویرایشگر رایگان و متن باز امکانات بسیار زیادی به وب سایت مبتنی بر جوملا شما اضافه خواهد شد . یکی از این امکانات قدرتنمد ، امکان اضافه کردن متن جایگزین و همچنین توضیحات و ALT برای عکس ها است . با کمک این ویراشگر کمک زیادی به بهینه سازی تصاویر جوملا در گوگل و بهبود وضع سو جوملا خواهید کرد .
مدیریت متا ها
در گذشته و مطالب قبلی آموزشی سئو بار ها و بار ها به اهمیت متا تگ ها و چگونگی استفاده از آنها برای بیشترین تاثیر بر سئو گوگل اشاره کردیم و . به طور خلاصه و گذرا به آن ها اشاره میکنیم . متا تگ توضیحات و عنوان در حال حاضر مهم ترین متا های تاثیر گذار بر سئو هستند . متا تگ کلمات کلیدی در حال از دست دادن اهمیت خود از نظر گوگل است و احتمالا دیگر هیچ تاثیر مثبتی بر سئو جوملا شما نخواهد گذاشت . برای انتخاب یک عنوان و متن توضیحات حرفه ای به مطالب قبلی آموزش سئو در سایت مراجعه کنید .
باز شدن سایت فقط با www یا فقط بدون www
اگر یک مطلب از وب سایت شما هم با www هم بدون www در گوگل ایندکس شود ، از نظر گوگل محتوای یکسان و تکراری محسوب خواهد شد . این موضوع ضرورت باز شدن سایت فقط با یکی از این ۲ حالت را دو چندان میکند . برای درک بهتر این موضوع و آموزش چگونگی کنترل این مشکل اینجا کلیک کنید .
استفاه صحیح از لینک های داخلی
از لینک های داخلی به مطالب قبلی سایت خود به صورت حرفه ای استفاده کنید . بعضی از دوستان فقط به صفحه اصلی سایت خود لینک میدهند که کافی نیست . لینک دادن به مطالب و پست های قدیمی سایت و با کلمات کلیدی تاثیر بسزایی در بهبود سئو جوملا خواهد داشت . لینک های داخلی حتما یا فقط با Www یا فقط بدون Www باشند و از این نظر از سیستم کلی سایت پیروی کنند .
افزایش سرعت سایت
افزایش سرعت و سریع شدن لود صفحات وب سایت شما تاثیر مثبتی بر سئو جوملا خواهد داشت . برای این منظور راه های زیادی پیش روی شما است . اولین روش استفاده از کش و حافظه های موقت است . استفاده همزمان از Memcache برای کش کردن کوئری های دیتابیس و یک opcode کش برای کش کردن فایل های php بهترین نتیجه ممکن را به همراه خواهد داشت . یکی دیگر از راه های افزایش سرعت سایت فعال کردن Gzip یا Deflate است . اگر این مورد در هاست شما فعال نیست با مدیر سرور موضوع را مطرح کنید .
نقشه سایت گوگل برای جوملا
بار ها و بار ها از اهمیت نقشه XML سایت برای گوگل گفته ایم . بنا بر این دلیلی نیست تا مجددا بر ضرورت استفاده از نقشه سایت برای گوگل در وب سایت جوملای شما تاکید کنیم . برای این منظور میتوانید از کامپوننت Xmap استفاده کنید . این کامپوننت یکی از بهترین سازندگان نقشه سایت برای جوملا و در نتیجه افزایش سئو جوملا است و همواره روی آخرین نسخه ها و ورژن های جوملا نیز نصب میگردد .
استفاده از پلاگین و ماژول های سئو جوملا
جوملا از نسخه ۲٫۵ و نسخه های پس از آن پیشرفت بسیار خیره کننده ای در سئو داشته است و بدون نیاز به افزونه و پلاگین های اضافه نیز قادر خواهد بود جایگاه مناسبی را در گوگل به خود اختصاص دهد . ولی به هر حال همیشه امکان بهتر کردن شرایط وجود دارد و هیچ گاه نباید از وضعیت فعلی خود راضی بود . به همین منظور ۲ کامپوننت معروف و حرفه ای سئو جوملا را به شما معرفی میکنیم تا در صورت تمایل نصب و کانفیگ کنید .
کامپوننت Sh404sef یک کامپونت فوق العاده بهینه کننده سئو جوملا است که کار با آن بسیار ساده بوده و به کمک آن قادر به مدیریت همه چیز در جوملا خواهید بود .
کامپوننت Artio JoomSEF که در ۲ نسخه رایگان و پولی ارائه شده است و امتحان خود را در زمینه سئو جوملا و افزایش ترافیک سایت پس داده است .
حدود یک ماه پیش گزارشی از چگونگی شکار سیستم های ویندوزی توسط بدافزار Lucifer منتشر شد. این نسخه از بدافزار Lucifer نه تنها قادر به انجام حملات DDOS و استخراج ارز منرو در سیستم های ویندوزی بود؛ بلکه می توانست با بهره برداری از حفره های شناخته شده سیستم عامل ویندوز و حملات Brute-Force خط فرمان این سیستم ها را از راه دور در اختیار بگیرد. اخیراً مشخص شده است که نسخه جدید این بدافزار سیستم عامل های لینوکسی را نیز پشتیبانی می کند.
نسخه لینوکسی بدافزار دارای قابلیت های مشابه نسخه ویندوز مانند استخراج رمز ارز و انجام حملات انکار سرویس بر اساس پروتکل هایTCP ، UDP و ICMP است. همچنین در نسخه لینوکسی بدافزار امکان حمله منع سرویس بر اساس متدهای Get و Post پروتکل HTTP فراهم شده است.
نسخه جدید این بدافزار علاوه بر اینکه سیستم های لینوکسی را تحت تاثیر قرار می دهد؛ می تواند با بهره گیری ابزاری با نام MIMIKATZ اطلاعات احراز هویت کاربران را دزدیده و سطح دسترسی را در سیستم های هدف بالا ببرد.
محققان معتقد هستند که دسترسی به سیستم عامل های لینوکسی امکان دسترسی به سیستم های بیشتر را فراهم می آورد و در نتیجه باعث تولید رمز ارز بیشتری خواهد شد.
براساس گفته محققان در ابتدا استفاده از یک بات برای انجام DDOS و استخراج رمز ارز کمی غیر عادی به نظر می رسید. اما با توجه به گسترش استفاده از حملات DDOS در استخراج رمز ارز وجود یک بات همه کاره "one-stop" منطقی به نظر می رسد.
محققان امیدوار هستند که دانش کسب شده در مبارزه با نسخه ویندوزی این بدافزار راه های مقابله با نسخه لینوکسی این بدافزار را کمی راحت کند. هرچند لازم است که برای روش های حمله جدید افزوده شده راهکارهای جدید طراحی شود.
منبع
https://www.hackread.com/windows-lucifer-malware-return-haunt-linux-devices
در 19 اگوست سال جاری، سیسکو طی بیانیهای چندین آسیب پذیری مختلف از جمله یک آسیب پذیر با شناسه CVE-2020-3446 را منتشر کرد. این آسیب پذیری محصولات سری 5400-W از CiscoENCS و سری 5000-W ازCSP را تحت تاثیر قرار میدهد. این محصولات در صورتیکه نسخه 6.4.5، 6.4.3d و نسخههای قبلتر از 6.4.3d نرم افزار Virtual Wide Area Application Services with Cisco Enterprise NFV Infrastructure-bundled بر روی آن ها اجرا شود، آسیبپذیر هستند.
دلیل اصلی این آسیب پذیری وجود حساب کاربری با پسورد ثابت در نرم افزارهای تحت تاثیر این آسیب پذیری است. هکرها با سوءاستفاده از حساب کاربری دارای پسورد ثابت، بدون احراز هویت و از راه دور به خط فرمان NFVIS دسترسی پیدا کرده و میتوانند دستورات خود را با اختیارات مدیریتی اجرا نمایند.
سیسکو این آسیب پذیری را در نسخه های 6.4.3e، 6.4.5a و نسخه های به روزتر از vWAAS with NFVIS-bundled رفع کرده است. بنابراین کاربران محصولات تحت تاثیر آسیب پذیری کافیست نرم افزارهای خود را به روزرسانی کنند.
توجه: محصولات سری 5400-W از CiscoENCS و سری 5000-W ازCSP از به روزرسانی مستقیم نسخه های قدیمی به نسخه vWAAS 6.4.3e و6.4.5a vWAASپشتیبانی نمی کنند. بنابراین ضروری است که نسخه های به روز از اول نصب شوند. برای دانلود نسخه های به روزتر کافی است پس از ورود به بخش دانلودها در سایت شرکت سیسکو مراحل زیر را طی کنید.
• بر روی Browse all کلیک کنید.
• وارد بخش Routers > Wan Optimization > Wide Area Application Services (WAAS) Software > Wide Area Application Services (WAAS) Softwar شوید.
• نسخه مورد نظر را از پنل سمت چپ Wide Area Application Services (WAAS) انتخاب کنید.
• نرم افزار WAAS Unified Package را برای ENCS-W و CSP-W دانلود کنید.
منبع:
https://media.cert.europa.eu/static/SecurityAdvisories/2020/CERT-EU-SA2020-041.pdf
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-waas-encsw-cspw-cred-hZzL29A7
داشتن امنیت یک امر کاملا حیاتی میباشد و ما علاوه بر اینکه بتوانیم پروتکل ها و سرویس ها را ارائه و پیاده سازی کنیم، باید از داشتن امنیت و استقامت آنها اطمینان حاصل سازیم. زیرا هر لحظه ممکن است آسیبی از این جانب به ما وارد شود. در این مقاله قصد داریم به تکنیک ها و روش های که موجب امن سازی پروتکل مسیریابیBGP میشوند پرداخته و انواع حملات و روش های جلوگیری آن را بررسی کنیم.
به مسیریابی بسته ها درون شبکهRouting گفته میشود. به این صورت که برای مثال وقتی یک Request از سمت شما به سمت وب سرور وب سایت کالی بویز ارسال میشود به آن مسیریابی و مسیرهای که Request طی میکند Routing گفته می شود.
در بحث Routing ما دونوع مختلف داریم. یک Static Routing و دو Dynamic Routing که در Static Routing ما به صورت دستی تعیین میکنیم برای مثال بسته ایی که قرار است به سمت مقصد خاصی که میخواهد برود از کدام مسیر برود ولی در Dynamic Routing اینکار برعهده پروتکل های میباشد که به صورت اتوماتیک اینکار را برای ما به انجام میرساند.
پروتکل های Dynamic Routing به دو دسته IGP و EGP تقسیم بندی می شود. به پروتکل های که مسیریابی را در یک AS (محیطی متشکل از چند روتر محلی) انجام میدهند IGP یا به اختصار Interior Getaway Protocol گفته میشود.
علاوه بر این EGP ها که مخفف Exterior Getaway Protocol میباشند و برعکس IGP هستند و وظیفه مسیریابی بسته ها بین AS ها را فراهم میسازند. برای درک بهتر و ساده تر، از این پروتکل ها برای مسیریابی درون اینترنت استفاده میشود. از جمله این پروتکل های EGP، پروتکل BGP وجود دارد.
پروتکل BGP مخفف Border Getaway Protocol میباشد یک Dynamic Routing از نوع EGP که به دو دسته eBGP و iBGP تقسیم بندی میشود:
از این رو پروتکل BGP با استفاده های بسیار ارزشمندی که دارد بدی هایی هم دارد که از جمله آنها به وجود آوردن آسیب پذیری های (MITM) در شبکه WAN را دارد. از جمله آسیب پذیری های مهم و خطرناک BGP میتوان به BGP Hijacking و یا Prefix Injection توجه کرد (هر دو یک حمله هستند با نام های متفاوت).

این حمله زمانی رخ میدهد که افراد بتوانند به طور غیرمجاز به ترافیک های درحال عبور در دنیای WAN با استفاده از پروتکل BGP دست یابند. به این صورت که با تزریق کردن مقدار های IP و Prefix های نامعتبر به سمت این پروتکل آن را وادار به تغییر جهت ترافیک خود دهند.
روتر ها دارای جدولی هستند تحت عنوان جدول Routing Table که اطلاعات مسیریابی هر روتر در آن نگهداری میشود. از این رو زمانی که یک Dynamic Routing در شبکه اجرا سازی میشود روتر ها اطلاعات جدول خود را تحت عنوان پیغام های Update به یک دیگر ارسال میکنند. افراد مهاجم میتوانند با ایجاد پیغام های جعلی Update این جدول را مورد حمله قرار دهند و مسیرهای موجود در آن را تغییر دهند.
روش های بسیاری برای جلوگیری از حمله BGP Hijacking وجود دارد که از جمله این روش ها عبارتند از:
برای مثال در Filtering زیر ما فقط AS های محلی خود را به سمت ISP هدایت میکنیم:
ip as-path access-list 1 permit ^$
router bgp 64502
neighbor 100.100.100.1 filter-list 1 out
برای مثال دوم فرض کنید سمت مشتری AS 64502 تعریف شده است و در سمت ISP این AS برابر با 64500 میباشد. ما میتوانیم محدودیت را در سمت ISP بر این قرار بگذاریم که از سمت آدرس 100.100.100.1 فقط AS 64502 اجازه عبور داشته باشد:
ip as-path access-list 1 permit ^64502$
router bgp 64500
neighbor 100.100.100.2 filter-list 1 in
همچنین یک راهکار جالب برای جلوگیری از Flooding به سمت BGP، میتوانیم محدودیت بر روی حداکثر Prefix را قرار دهیم. به این منظور که چه میزان Prefix از سمت مقابل ارسال شود و درصورت ارسال بیشاز حد تعیین شده جلسه ایجاد شده به حالت idle برود.
router bgp 64502
neighbor 100.100.100.1 maximum-prefix number

اگرچه ابزار Artemis نمیتواند جلوی حمله را بگیرد ولی توانایی اعلام و شناسایی حملات را برای ما فراهم میسازد و مطلع شدن از حمله یک امر بسیار مهم و کاربری میباشد.
این ابزار به عنوان یک سیستم تشخیص نفوذ تحت شبکه یا همان N-IDS شناخته میشود که به سرعت توانایی شناسایی حملات BGP Hijacking را دارد. همچنین این ابزار قدرتمند به صورت Open-Source ارائه شده است.
پروتکل BGPSec مخفف Border Getaway Protocol Security میباشد. این پروتکل که همواره شباهتی نسبت به پروتکل S-BGP و یا همان Secure BGP نیز دارد که در سال 1990 ارایه شد. در واقع این پروتکل یک افزونه قدرتمند امنیتی به منظور جلوگیری از حملات مختلف بر روی بستر پروتکل BGP میباشد.
این پروتکل وظیفه این را دارد که پیغام های Update درحال رد و بدل بین دو همسایه و یا روتر را بررسی کند و از صحیح بودن آنها مطمئن شود. این پروتکل از یکسری امضای دیجیتالی به منظور صحیح بودن بسته های ارسالی از سمت همسایه مقابل استفاده میکند.
قبل از پروتکل BGPSec مکانیزم امنیتی تحت عنوان RPKI وجود داشت که از تزریق AS ها و Prefix های نامعتبر از سمت افراد مختلف را محدود میکرد و بسته هارا رد میکرد، ولی RPKI هم به یک سری نکات امنیتی توجه نکرده بود و به سرنوشت خوده پروتکل BGP دچار شد و مهاجمان توانستند از آسیب پذیری RPKI با این عنوان که به AS های مجاز اعتماد میکرد و بسته ها را قبول میکرد استفاده کردند.
در اخر نیز این مکانیزم هم با شکست مواجه شد، اینجا بود که پروتکل BGPSec پا به میدان گذاشت و وظیفه این را دارد که از مسیر AS اطمینان کافی را حاصل سازد.
از این رو این پروتکل علاوه بر امضاهای دیجیتالی از روش ها و مکانیزم های زیادی از جمله رمزنگاری بسته ها، استفاده از Attribute های جدید و امنیتی و کنار گذاشتن Attribute های قدیمی پروتکل BGP که از جمله آنها استفاده از ASsec_Path به عنوان Attribute قدیمی پروتکل BGP یعنی AS_Path می باشد.
به گزارش خبرگزاری مهر به نقل از پرس اسوسیشن، محققان دانشگاه واشنگتن روشی نوین ابداع کرده اند که یک مصالح ساختمانی فراوان و ارزان را هوشمند می کند تا مانند باتری انرژی را در خود ذخیره کند. هرچند این تحقیق هنوز در مراحل اولیه است، اما محققان ادعا می کنند دیوارهایی که با چنین آجرهایی ساخته می شوند، قادر به ذخیره مقدار قابل توجهی انرژی هستند و می توان در یک ساعت آنها را هزاران بار شارژ کرد.
«جولیو دی آکری» استادیار شیمی این دانشگاه و محقق ارشد پژوهش می گوید: تصور می کنم هنگامیکه بتوان آجرها را به سلول های خورشیدی متصل کرد، این طرح عملیاتی خواهد شد.
در حقیقت این پژوهشگران روشی برای تبدیل آجرهای قرمز به نوعی دستگاه ذخیره انرژی یافته اند که ابرخازن نام دارد. این روش شامل یک پوشش رسانا به نام «پدوت»(Pedot) است که روی آجرهای نمونه کشیده شد. این پوشش به ساختار متخلخل آجر نفوذ می کند و آن را به یک الکترودهای ذخیره انرژی تبدیل می کند.اکسید آهن که در حقیقت رنگدانه قرمز در آجر است نیز به این فرایند کمک می کند.
محققان در آزمایشی نشان دادند ابرخازن مذکور می تواند یک چراغ ال ای دی را روشن کند.
دی آکری در این باره می افزاید: در این پژوهش ما یک روکش پلیمری رسانا توسعه دادیم که از نانوفیبرهایی تشکیل شده است. این نانوفیبرها پس از نفوذ به شبکه داخلی آجر، در ساختار متخلخل آن باقی می مانند و مانند یک اسفنج یونی عمل می کنند که الکتریسیته را ذخیره و هدایت می کند. چنین آجری را می توان هزاران بار در ساعت شارژ کرد. با اتصال حسگرهای میکروالکترونیک به دو آجر می توان آنها را روشن کرد.
یافته های این تحقیق در ژورنا«نیچر کامونیکیشن» منتشر شده است.
گاهی اوقات به تماشای آفلاین و بدون اینترنت ویدیوهای یوتیوب نیاز داریم. ما در این پست چند دستورالعمل ساده را برای دانلود ویدیو از یوتیوب تهیه کرده ایم که با دنبال کردن آن ها می توانید ویدیوهای مورد نظر خود را در کامپیوتر و گوشی آیفون یا اندرویدی خود دانلود کنید.
خود YouTube برخی از ابزارهای رایگان را برای این کار فراهم می کند و همچنین برخی نرم افزارها و سایت های جانبی نیز برای این کار وجود دارد که می توانید از آنها نیز استفاده کنید.
شما می توانید ویدیوهای یوتیوب را هم به صورت مستقیم و هم به صورت غیر مستقیم (برنامه های سوم شخص) دانلود کنید. در روش مستقیم شما بدون هیچ نرم افزار دیگری و فقط با استفاده از خود نرم افزار یوتیوب قادر خواهید بود ویدیوی مورد علاقه خود را دانلود کنید. در این روش به دلیل رعایت حقوق کپی رایت، ویدیوهای دانلود شده در گالری ذخیره نخواهند شد و همچنین شما نمی توانید آن ها را به دستگاه انتقال دهید.
در روش غیرمستقیم ما قانون کپی رایت را با نرم افزارهای شخص ثالث دور می زنیم و می توانیم هم ویدیوها را در حافظه گوشی یا لپ تاپ ذخیره کنیم هم آن ها را با دستگاه های دیگر به اشتراک بگذاریم.

در این روش از یک برنامه دسکتاپ معروف به 4k Video Downloader استفاده می کنیم. نسخه رایگان این نرم افزار امکان دانلود فیلم های انفرادی با کیفیت های قابل تنظیم تا 4K و پشتیبانی از فیلم های سه بعدی و 360 درجه را دارد. می توانید زیرنویس ها را دانلود کنید و حتی قادر است از طریق لینک های تعبیه شده این کار را انجام دهد.
برای دانلود ویدیو از یوتیوب با این روش، فقط کافی است به صفحه ویدیوی یوتیوبی که می خواهید آن را دانلود کنید بروید و URL آن را از نوار آدرس بالای پنجره مرورگر خود کپی کنید.

برنامه 4K Video Downloader را که تازه نصب کرده اید باز کنید. دیگر نیازی به چسباندن دستی در URL ندارید – کافی است روی دکمه Paste Link در گوشه سمت چپ بالای نوار فهرست کلیک کنید و نرم افزار آدرس اینترنتی را از کلیپ بورد شما می گیرد.

پس از اتمام بررسی فیلم ، به شما گزینه های مختلفی برای کیفیت فیلم و فرمت داده می شود. همچنین می توانید مکان دانلود ویدیو را تنظیم کنید. توجه داشته باشید که ویدیویی که از نرم افزار گرفته می شود بر اساس آدرس IP شما باشد ، نه به URL ای که وارد میکنید.
پس از انتخاب گزینه های مورد نظر خود ، فقط بر روی دکمه دانلود کلیک کنید.
در مرورگر وب Android خود به سایتtubemater.net بروید. Tubemate یک برنامه رایگان است که به شما امکان می دهد فیلم های YouTube را در گوشی اندرویدی خود دانلود کنید. این برنامه در فروشگاه گوگل در دسترس نیست ، اما می توانید فایل APK را بارگیری کرده و به صورت دستی نصب کنید.
پس از دانلود و نصب این برنامه، آن را اجرا کنید. ویدیویی که قصد دانلود آن را دارید باز کنید. روی آیکون فلش قرمز ضربه بزنید که در گوشه پایین سمت راست صفحه است. لیستی از گزینه های دانلود برای این فیلم نمایش داده می شود. رزولوشن و فرمت دلخواه برای دانلود را انتخاب و روی آن بزنید.
پس از دانلود این ویدئو ، می توانید آن را در گالری خود مشاهده کنید.یز بدی را نصب نمی کنند ، اما در دانلود چیزهای اضافی فریب نخورید.
برای دانلود ویدیوهای یوتیوب در آیفون به صورت غیر مستقیم و به کمک نرم افزارهای سوم شخص، ما از نرم افزار Documents by Readdle استفاده می کنیم.
در ابتدا این برنامه را از اپ استور دانلود و نصب کنید.

سپس یوتیوب را اجرا و ویدیویی که قصد دانلود آن را دارید باز کنید. روی آیکون Share کلیک کنید. برخی از گزینه های اشتراک گذاری ظاهر می شوند. روی Copy link کلیک کنید تا لینک کپی شود.
حالا وارد نرم افزار Documents شوید و روی نماد قطب نما ضربه بزنید که در گوشه پایین سمت راست صفحه قرار دارد. این کار یک مرورگر وب را باز می کند.

سپس به سایت Keepvid.pro بروید.

پس از باز شدن سایت، بر روی Youtube Video Converter بزنید و حالا لینک کپی شده را در کادر مشخص شده Paste کنید و بر روی دکمه آبی رنگ Download Now کلیک کنید.

فرمت دانلود را انتخاب کنید. برای به دست آوردن بالاترین کیفیت ، روی Best Download کنار ویدیو کلیک کنید. برای انتخاب فایل با کیفیت پایین تر، روی دانلود سایر گزینه ها کلیک کنید. سپس فایل دانلود خواهد شد و می توانید آن را تماشا کنید.

در اینجا هم به کمک یک سایت سوم شخص به دانلود ویدیوهای یوتیوب می پردازیم. تنها تفاوتی که این روش با قسمت بالا دارد، تفاوت در سرعت انجام کار است. در این روش سریع تر به دانلود ویدیو های یوتیوب می پردازیم.
برای شروع، به ویدیویی که می خواهید دانلود کنید بروید. پس از انتخاب ویدیو آن را پخش کنید. به نوار آدرس ویدیو بروید. بر روی آدرس ویدیو که در نوار بالای پنجره مرورگر قرار دارد کلیک کنید ، سپس کلمه vd قبل از قسمت youtube را در آدرس اضافه کنید و سپس اینتر را از روی کیبورد فشار دهید ، منتظر تغییر صفحه وب باشید ، این کار شما را مستقیماً به وب سایت VDY منتقل می کند.

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

با توجه به طیف گسترده کاربران ایرانی تلگرام، خوشبختانه امکان دانلود ویدیوهای یوتیوب به کمک این پیام رسان نیز وجود دارد.
برای این کار ما از ربات utubebot@ در تلگرام استفاده می کنیم. وارد ربات شوید و آن را start بزنید.
سپس یوتیوب را اجرا و ویدیویی که قصد دانلود آن را دارید باز کنید. روی آیکون Share کلیک کنید. برخی از گزینه های اشتراک گذاری ظاهر می شوند. روی Copy link کلیک کنید تا لینک کپی شود.
حالا وارد ربات یوتیوب در تلگرام شوید و لینک کپی شده را Paste و ارسال کنید. سپس کیفیت های مختلف برای دانلود به شما ارسال می شود و با زدن بر روی کیفیت دلخواه ان را دانلود کنید.
در صورت داشتن اشتراک YouTube Premium ، می توانید از دانلود ویدیو برای تماشای آفلاین و بدون نرم افزار شخص ثالث لذت ببرید. به خاطر داشته باشید که می توانید فیلم های دانلود شده را فقط با استفاده از خود برنامه یوتیوب مشاهده کنید و نمی توانید فایل ویدیویی را به دستگاه دیگری منتقل کنید یا آن را با یک پخش کننده دیگر مشاهده کنید.
اولین کاری که شما باید انجام دهید این است که برنامه YouTube را در iPhone خود اجرا کنید. اکنون ویدیویی که می خواهید دانلود کنید را پخش کنید. وقتی ویدیو درحال پخش است بر روی دکمه Download بزنید.

پس از دانلود ، برای تماشای آن روی Library بزنید.

اکنون روی Downloads ضربه بزنید، فیلم دانلود شده برای مشاهده آفلاین و بدون اینترنت در دسترس شما خواهد بود.
دانلود ویدیوهای یوتیوب در اندروید نیز تقریبا همانند آیفون است اما شما در اندروید کنترل بیشتری دارید. یوتیوب در اندروید به شما امکان می دهد کیفیت فیلم را انتخاب کنید. پس از پخش ویدئویی که می خواهید دانلود کنید ، روی دکمه Download ضربه بزنید. از شما خواسته می شود کیفیت را انتخاب کنید. روی موردی که می خواهید ضربه بزنید و فیلم دانلود می شود.

پس از دانلود ، برای تماشای آن روی Library بزنید. اکنون روی Downloads ضربه بزنید، فیلم دانلود شده برای مشاهده آفلاین و بدون اینترنت در دسترس شما خواهد بود.
می توانید با ضربه زدن روی سه نقطه کنار ویدیو ، ویدیو را از لیست دانلودها حذف کنید. بر روی آن ضربه بزنید و گزینه حذف فیلم ظاهر می شود.

مزایای دانلود ویدیوهای یوتیوب به صورت مستقیم: دانلود سریع – عدم نیاز به نرم افزارهای جانبی
معایب دانلود ویدیوهای یوتیوب به صورت مستقیم: وجود قانون کپی رایت – الزام بر داشتن اشتراک YouTube Premium
نرم افزارها سایت ها و روش های دیگری نیز برای دانلود ویدیوهای یوتیوب وجود داردند اما ما سعی کردیم آسان ترین آن ها را به شما معرفی کنیم. شما هم اگر روش دیگری می شناسید برای ما کامنت کنید.
شرکت مایکروسافت در تاریخ July 14 سال 2020 وصله ای برای #آسیبپذیری بحرانی در سرویس DNS ویندوزسرور منتشر کرد. این آسیب پذیری، امکان اجرای کد از راه دور (RCE) و همچنین اخذ دسترسی کامل از سرور ویندوز دارای سرویس DNS آلوده را برای مهاجم فراهم می کند. احتمال استفاده از این حفره امنیتی توسط بات نت ها و باج افزار هایی که از متد worm برای انتشار استفاده میکنند بسیار بالا می باشد. این آسیب پذیری با شدت ۱۰ از ۱۰ (CVSS Score) و با شناسه CVE-2020-1350 معرفی شده است و تمامی نسخه های ویندوز از ویندوز 2008 تا 2019 در برابر آن آسیب پذیرند.
مهاجم با استفاده از ایجاد و ارسال درخواست های آلوده به سمت DNS Server میتواند حمله RCEرا به اجرا گذاشته و دسترسی کاملی به سرور اخذ کند. درصورتی که سرور نقش domain controller را در active directory داشته باشد، مهاجم می تواند دسترسی کاملی به کل فضای domain اخذ کرده و تمامی دارایی های موجود در این فضا را در اختیار گیرد.
*اجرای وصله و ایمن سازی را به هیچ وجه به تاخیر نیاندازید و این فرآیند را محدود به سرور هایی که صرفا در فضای اینترنت در دسترس هستند نکنید.
رفع آسیب پذیری:
۱- نصب آخرین آپدیت های ارائه شده روی ویندوز سرور
۲- انجام تغییرات زیر در رجیستری
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDNSParameters
DWORD = TcpReceivePacketSize
Value = 0xFF00
Restart نمودن سرویس DNS
لینک های مفید:
کامنت چیست؟
کامنت (comment) خطی در سورس کد ما است که به عنوان بخشی از کد های برنامه اجرا نمی شود و هدف آن بیشتر برای درک آسان تر کد منبع برای برنامه نویس های دیگر است و به طور کلی توسط کامپایلرها و مفسران نادیده گرفته می شوند. نحو نوشتاری کامنت ها در زبان های مختلف برنامه نویسی بسیار متفاوت است.و متغیر (variable) همانطور که از نامش پیداست یک مقداری است که می تواند تغییر کند ولی لزوما ثابت نیست.
دلایل استفاده از کامنت
به دو صورت می توانیم از کامت استفاده کنیم.
با استفاده از // یا # می توان این کار را انجام داد. به مثال زیر توجه کنید:
<!DOCTYPE html> <html> <body> <?php // single comment # single comment ?> </body> </html>
با استفاده از /* در ابتدا و */ در انتها می توانیم بیش از یک خط را کامنت کنیم. به مثال زیر توجه کنید:
<!DOCTYPE html> <html> <body> <?php // single line comment /* line 1 line 2 line 3 */ ?> </body> </html>
در مثال بالا ما line1 تا line3 را کامنت کردیم.
<?php $txt = "Hello world!"; $x = 5; $y = 10.5; ?>
در مثال بالا متغیر $txt مقدار hello world را در خود ذخیره می کند. در متغییر $x مقدار عددی 5 وجود دارد و همینطور در متغییر $y نیز مقدار عددی 10.5 وجود دارد. توجه داشته باشید که مانند سایر زبان های برنامه نویسی برای قرار دادن متن یا رشته درون متغیر، باید آن را درون جفت کوتیشن (” “) قرار دهیم.
در زبان php دستور echo اغلب برای نمایش یا چاپ خروجی در صفحه استفاده می شود. به مثال زیر توجه کنید:
<?php $txt = "kaliboys.com"; echo "I love $txt!"; ?>
در مثال بالا ما یک متغیر $txt تعریف کردیم و رشته kaliboys.com را در آن قرار دادیم، و سپس با دستور echo متن i love kaliboys.com را چاپ کردیم. خط سوم از کد بالا را می توان به این شکل زیر نیز نوشت که در هر دو صورت نتیجه یکی است.
echo "I love " . $txt . "!";
نکته : درواقع با قرار دادن . (نقطه) می توان در php متغیر را به رشته متصل کرد و به صورت یکپارچه چاپ کرد.حال شاید بخواهید بدانید که آیا می توان دو متغیر را نیز به هم پیوند داد؟ جواب بله است. به مثال زیر توجه کنید<?php $one = 12; $two = 84; echo $one + $two; ?>
در این مثال ما دو متغیر به نام $one و $two تعریف کردیم و با + به هم متصل کردیم. در نتیجه جواب ما حاصل جمع 12+84=96 می باشد. به همین سادگی!
در php متغیر ها را میتوان بدون محدودیتی در هرجایی از کد خودمان تعریف و استفاده کنیم. اما گستره متغیر ها به این معنا است که بخشی از اسکریپت یا سورس کد ما است که می تواند استفاده شود و یا به آن رجوع کرد. پس php سه گستره متغیر مجزا دارد.
global (سراسری) : متغیر سراسری به متغیری گفته میشود که در تمامی ماژولها و توابع برنامهنویسی مقدار خود را نگه دارد .(به کد زیر دقت کنید)
<!DOCTYPE html>
<html>
<body>
<?php
$name = "ali"; // global scope
function kaliboys() {
// استفاده از متغیر name در داخل تابع باعث به وجود آمدن خطا می شود
echo "<p>my name is: $name</p>";
}
kaliboys();
echo "<p>my name is: $name</p>";
?>
</body>
</html>
متغیر global را میتوان به شکل زیر تعریف نمود.(به کد زیرتوجه کنید)
<?php
$a = 12;
$b = 15;
function Mykali() {
global $a, $b;
$b = $a + $b;
}
Mykali();
echo $b; // خروچی = 27
?>خب در کد بالا،ما یک تابع تعریف کردیم به اسم mykali و دومتغیر به نام های a و b که متغیر سراسری هستند تعریف و مقداری را در آن قرار دادیم،پس از آن با صدا زدن تابع و دستور echo نتیجه را چاپ نمودیم.که جواب ما در اینجا 27 شد.
روش دیگر در تعریف متغییر سراسری
میتوان به شکل دیگر نیز این متغیر های سراسری را تغریف کرد که در واقع php تمام متغیر های سراسری را در ارایه ای به این شکل نگه داری می کند.
$GLOBALS['index']
index نام متغیر را در خود نگه می دارد.پس مثال قبل را میتوان به شکل زیر بازنویسی کرد و در هردوصورت نتیجه مشابه است.
<?php
$a = 12;
$b = 15;
function Mykali() {
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
Mykali();
echo $b; // خروچی = 27
?>local (محلی) : متغیرهایی که داخل یک تابع تعریف می شوند همگی محلی تلقی میشوند مگر آنکه مشخصاً ذکر شود که باید متغیر سراسری به کار گرفته شود که در اینصورت باید با پسوند global این کار را انجام داد.
<!DOCTYPE html>
<html>
<body>
<?php
function
$name = "ali"; // متغیر سراسری
echo "<p>my name is: $name</p>";
}
kaliboys();
// استفاده از متغیر name در خارج از تابع باعث به وجود آمدن خطا می شود
echo "<p>my name is: $name</p>";
?>
</body>
</html>
تذکر: ما می توانیم در هر تابع مجزا، چندین متغیر محلی ایجاد کنیم. بنابراین در توابع دیگر شناسایی نمی شوند و تنها در همان تابع مورد نظر استفاده می شود.
static(ایستا) : متغیری است که برای یک بار تمام طول برنامه تعریف می شود که باعث می شود تمامی نمونه های دیگر به آن دسترسی داشته باشند.
در حالت معمول وقتی یک تابع اجرا می شود،همه ی متغیر های ان تابع حذف می شوند!شاید درمواقعی ما نیاز داشته باشیم که متغیر local ما ثابت بماند تا برای استفاده های بعدی دردسترس ما باشد.برای این منظور از متغیر استاتیک (static) استفاده می کنیم.(به مثال زیر توجه کنید)
<!DOCTYPE html>
<html>
<body>
<?php
function Mykali() {
static $a = 10;
echo $a;
$a++;
}
Mykali();
echo "<br>";
Mykali();
echo "<br>";
Mykali();
?>
</body>
</html>
خب در کد بالا ما یک تابع به اسم Mykali تعریف کردیم و در داخل آن یک متغیر استاتیک a تعریف کردیم و مقدار 10 را در آن قرار دادیم.خب حال اگر هرچند بار این تابع را فراخوانی کنیم مقدار ان چاپ شده و یکی به آن اضافه می شود.در نتیجه چون ما 3 بار این تابع را صدا زدیم پس جواب ما به صورت 10,11,12 خواهد بود.