بطور خلاصه، اساس کار SSh-Key مبتنی بر رمزنگاری بر کلید عمومی هست. به این صورت که شما دو کلید ایجاد می کنید: یکی کلید عمومی(public key) و دیگری کلید خصوصی(private key). که در اینجا کلید عمومی نقش قفل رو داره و کلید خصوصی نقش کلید!
شما می تونید کلید عمومی(public key) خودتون رو به هر کسی بدید یا در هر جایی قرار بدید... چراکه تنها عملکردش رمزی کردن داده هاست و هیچ کارایی دیگه ای نداره. پس چیزی هم شما رو تهدید نمی کنه. کلید دیگه، کلید خصوصی هه(private key)، که شما نباید اون رو به کسی بدید! و عملکردش رمزگشایی داده هاست. (داده های رمزگذاری شده توسط کلید عمومی)
شیوه تعامل این دو کلید به این صورته که:
1- سرور/remote یک پیام کوتاه رو توسط کلید عمومی شما [که قبلاً بهش داده بودید رو] رمزگذاری و اون به کامپیوتر شما ارسال میکنه.
2- کامپیوتر شما، این پیام رمزگذاری شده رو دریافت و با کلید خصوصی شما اون رو رمزگشایی میکنه و اون رو به سرور/remote ارسال می کنه.
3- در نهایت، سرور/remote هویت شما رو [از نظر مالک کلید خصوصی] شناسایی میکنه و بلافاصله دسترسی های لازم رو به شما اعطا می کنه. بهمین سادگی!
فهرست/مندرجات:
برای استفاده از این کدها برنامه "تماس" گوشی رو باز کنید و کد رو بدقت وارد کنید:
کد | توضیحات |
---|---|
*#*#4636#*#* | Display information about Phone, Battery and Usage statistics |
*#*#7780#*#* | Restting your phone to factory state-Only deletes application data and applications |
*2767*3855# | It’s a complete wiping of your mobile also it reinstalls the phones firmware |
*#*#34971539#*#* | Shows completes information about the camera |
*#*#7594#*#* | Changing the power button behavior-Enables direct poweroff once the code enabled |
*#*#273283*255*663282*#*#* | For a quick backup to all your media files |
*#*#197328640#*#* | Enabling test mode for service activity |
*#*#232339#*#* OR *#*#526#*#* | Wireless Lan Tests |
*#*#232338#*#* | Displays Wi-Fi Mac-address |
*#*#1472365#*#* | For a quick GPS test |
*#*#1575#*#* | A Different type GPS test |
*#*#0283#*#* | Packet Loopback test |
*#*#0*#*#* | LCD display test |
*#*#0673#*#* OR *#*#0289#*#* | Audio test |
*#*#0842#*#* | Vibration and Backlight test |
*#*#2663#*#* | Displays touch-screen version |
*#*#2664#*#* | Touch-Screen test |
*#*#0588#*#* | Proximity sensor test |
*#*#3264#*#* | Ram version |
*#*#232331#*#* | Bluetooth test |
*#*#7262626#*#* | Field test |
*#*#232337#*# | Displays bluetooth device address |
*#*#8255#*#* | For Google Talk service monitoring |
*#*#4986*2650468#*#* | PDA, Phone, Hardware, RF Call Date firmware info |
*#*#1234#*#* | PDA and Phone firmware info |
*#*#1111#*#* | FTA Software version |
*#*#2222#*#* | FTA Hardware verion |
*#*#44336#*#* | Displays Build time and change list number |
*#06# | Displsys IMEI number |
*#*#8351#*#* | Enables voice dialing logging mode |
*#*#8350#*#* | Disables voice dialing logging mode |
##778 (+call) | Brings up Epst menu |
پایگاه داده MySQL بدلیل کارایی(performance) بسیار بالایی که داره قادره از انواع(type) مختلف جدول پشتیبانی کنه که به شرح زیر هستن:
نکاتی راجب error_reporting
و set_error_handler
و register_shutdown_function
:
برخلاف تصور خیلی ها که فکر می کنند این دستور خطاها رو "نمایش" میده، این دستور موتور دریافت خطاها هستش. (نه حتی Log کردن خطا)
میشه گفت دستوری برای ثبت تابع customize کننده رفتار خطا هستش (مثلاً برای کادر بندی متون خطا، ایمیل کردن خطا، دادن راه حل به کاربر و...)
دستوری برای ثبت تابع callback هستش که هنگام متوقف شدن و پایان یافتن پردازش اسکریپت، اون تابع callback اجرا بشه (همچنین زمانی که exit / die صدا زده میشه)
اصول نامگذاری: onScriptShutdown یا onScriptEnd یا onShutdown....
نکته: توسط این دستور میشه خطاهای نوع E_ERROR , E_PARSE , E_CORE_ERROR , E_COMPILE_ERROR رو هم جذب کرد
ini_set('display_errors', TRUE);
دستوری برای نمایش خطا هستش. اگر دستور error_reporting
خاموش باشه این دستور هم کار نمی کنه. اگر دستور error_reporting
روشن باشه ولی این دستور false
باشه، اسکریپت کماکان خطاها رو دریافت می کنه اما نمایش نمیده.
ini_set('log_errors', TRUE);
دستوری برای ذخیره خطا در فایل هستش. اگر دستور error_reporting
خاموش باشه این دستور هم کار نمی کنه. اگر دستور error_reporting
روشن باشه ولی این دستور false
باشه، اسکریپت کماکان خطاها رو دریافت می کنه اما ذخیره نمی کنه.
بنابراین برای محیط development همگی باید فعال و true
باشن و برای محیط production(سرور واقعی یا تحویل به مشتری) همه باید فعال و true
باشن بجز دستور display_errors
!
در این مقاله خلاصه ای درباره مسیریاب ها در شبکه نوشتم. یحتمل اگر کانفیلیکتی (با استاندارد های جدید) مشاهده کردید در بخش نظرات اعلام کنید.
فهرست/مندرجات:
در محیط هایی که چندین شاخه شبکه با پروتوکل ها و معماری های متفاوتی وجود دارد، Bridge های ساده، راه مناسبی برای تضمین امنیت و سرعت ارتباطات میان این شبکه ها نیستند! چراکه چنین شبکه پیچیده ای نیاز به دستگاهی دارد که نه تنها اطلاعات آدرسی هر شاخه را بداند، بلکه بتواند بهترین مسیر را برای ارسال داده انتخاب کند; و همچنین امکان فیلتر کردن ترافیک شاخه محلی هم داشته باشد. چنین دستگاهی مسیریاب یا Router نام دارد.
نرم افزار Git (گیت) ویندوز دو نوع برنامه داره، یکی Git-BASh و دیگری Git-GUI.
Git-BASh: شبیه محیط Terminal/DOS یا سیاه و سفید هستش که همه فعالیت ها داخلش بکمک دستورات متنی توسط کاربر انجام میشن و معمولاً بر روی نرم افزار BASh یا Command Prompt و نرم افزار OpenSSh/PuTTY سوار هستش.
Git-GUI: شبیه محیط گرافیکی(فرم دار) هستش که همه فعالیت ها داخلش بکمک عناصر گرافیکی(Button, menu, textbox) انجام میشه. ولی در پشت پرده با نرم افزارهایی مثل PERL, OpenSSh/PuTTY, MinGW, BASh, TCL و غیره... در تعامل هستش.
سرعت بیشتر با تابع StrToLower:
0.000250101089478 0.000252008438110 0.000259160995483 0.000259160995483 0.000261068344116 0.000263929367065 0.000263929367065 0.000265121459961 0.000269174575806 0.000270128250122
سرعت کمتر با StrIStr:
0.000537157058716 0.000538110733032 0.000538110733032 0.000538110733032 0.000540018081665 0.000542163848877 0.000542163848877 0.000543117523193 0.000550985336304 0.000910043716431
در مواردی مثل:
if (strtolower(&$_SERVER['HTTPS']) == 'on' || @$_SERVER['HTTPS'] == 1 || @$_SERVER['SERVER_PORT'] == 443): return(true); endif; و if (stristr(&$_SERVER['HTTPS']) == 'on' || @$_SERVER['HTTPS'] == 1 || @$_SERVER['SERVER_PORT'] == 443): return(true); endif;
x64 Hardware
32bit OS
PHP 5.4 CLI
اصطلاح عبارت(Expression) و دستور(Statement) ممکنه که به ظاهر یکی بنظر بیان، اما اشتباه نکنید! اینها تفاوت های اساسی و مهمی دارن.
- عبارت یک مقدار را تولید می کند ولی دستور عملی را تکمیل می کند. (یا اثراتی ببار می آورد)
- عبارت میتواند ساده یا مرکب باشد. ولی دستور فقط سادست.
- عبارت شامل چندین قسمت می باشد(عملگر، عملوند علائم نقطه گذاری). ولی دستور شامل یک قسمت هست(یک کلمه لاتین).
- و اینکه عبارت شامل اجزایی هست که دستورات، عملگرها، عملوند ها، متغیر ها، ثوابت و... از آن ساخته می شود. ولی دستور از یک جزو ساخته می شود.
چند نمونه از توابعی که در php.ini بهتره Disable بشن:
apache_child_terminate, apache_reset_timeout, unregister_tick_function, rpc, exec, dl, show_source, apache_note, apache_setenv, closelog, debugger_off, debugger_on, define_syslog_variables, escapeshellarg, escapeshellcmd, ini_restore, openlog, passthru, pclose, pcntl_exec, popen, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, url_exec
نکته: این توابع باید در قسمت disable_functions
در فایل php.ini قرار بگیرن.
توجه: در سیستم های local اگر از برنامه Composer یا pickle استفاده می کنید نباید توابع escapeshellarg, exec, passthru رو غیرفعال کنید. اگر از برنامه PHPMD استفاده می کنید نباید تابع proc_open و ini_restore رو غیرفعال کنید. و اگر از برنامه PHPCS استفاده می کنید نباید تابع proc_get_status و proc_close رو غیرفعال کنید.