Email: info@developit.ir
نمایش ۱ تا ۸ مورد از کل ۸ مورد.

JWT، مقدمه ای بر JSON Web Tokens

JSON Web Token چیست؟

JSON Web Token یا JWT یک استاندارد فشرده و جامع برای انتقال امن اطلاعات بین چند زبان یا محیط مانند JSON است.

JWT میتواند با استفاده از الگوریتم HMAC یا کلید های عمومی/خصوصی بوسیله ی RSA رمزنگاری شوند.

برخی از مفاهیم JWT به شرح زیر میباشد:

1) فشرده/Compact: از آنجایی که حجم اطلاعات کمتر میشود، JWT میتواند از طریق URL ارسال شود. به عنوان مثال ارسال اطلاعات با استفاده از پارامتر POST یا قرار دادن آنها داخل HTTP header.

کاهش حجم اطلاعات به معنی انتقال سریعتر نیز میباشد.

2) جامع/Self-contained: این بسته شامل تمام اطلاعات مورد نیاز در مورد کاربر و اجتناب از درخواست بیش از یک بار به پایگاه داده است.

چرا باید از JSON Web Tokens استفاده کنیم؟

1) احراز هویت: به طور معمول برای استفاده ازJWT  هنگام ورود کاربر به سیستم این کار انجام میشود. احراز هویت به کاربر اجازه ارسال درخواست، دسترسی به خدمات و منابع را میدهد. احراز هویت تنها یک ویژگی است که به طور گسترده در JWT استفاده میشود زیرا سربار کمی دارد و میتوان از آن به آسانی در حوزه های مختلف بهره برد.

2) تبادل اطلاعات: JWT یک روش بسیار خوب برای انتقال امن اطلاعات بین محیط های مختلف است زیرا به عنوان مثال با استفاده از کلیدهای عمومی و خصوصی رمزنگاری شده و دارای امضای دیجیتال میباشد در نتیجه شما میتوانید مطمئن باشید چه کسی اطلاعات را برای شما ارسال میکند. علاوه بر این میتوانید بررسی کنید محتوای ارسال شده دستکاری نشده باشد.

بیشتر بخوانید

MessagePack، فرمت تبادل اطلاعات(سریعتر و سبکتر)

MessagePack یک فرمت مبادله اطلاعات کارامد است که به شما اجازه تبادل اطلاعات بین چندین زبان را میدهد، دقیقا مانند JSON. در حالی که MessagePack سریعتر و سبکتر است. این دو مزیت با فشرده سازی اطلاعات توسط MessagePack فراهم شده.

اعداد صحیح کوچک به یک بایت encoded میشوند و رشته های کوتاه معمولی تنها نیازمند یک بایت اضافی علاوه بر رشته خود هستند.

MessagePack

msgpack 

MessagePack توسط بیش از 50 زبان برنامه نویسی پشتیبانی میشود و مزیت دیگر ان سهولت استفاده از کتابخانه های این فرمت است.

<?php
$data = array(0=>1,1=>2,2=>3);
$msg = msgpack_pack($data);
$data = msgpack_unpack($msg);

 

 

 

نوشتن کد غیر همزمان در PHP با استفاده از icicle

PHP به طور معمول از روش برنامه نویسی همزمان استفاده میکند، با این وجود میتواند برای ایجاد برنامه هایی با زمان اجرای طولانی هم مورد استفاده قرار گیرد. چنین برنامه هایی اغلب باید فورا تعداد بسیاری وظیفه/task را بدون مسدود شدن وظایف انجام دهند.

عملیات غیر همزمان اجازه میدهد تعداد زیادی وظیفه بدون مسدود شدن انجام شوند اما PHP بدون استفاده از کتابخانه های کمکی نمیتواند چنین کاری را انجام دهد.

Icicle یک کتابخانه PHP است برای تسهیل نوشتن کد غیر همزمان با استفاده از روش برنامه نویسی هم زمان.

نوشتن و خطایابی کد غیر همزمان به دلیل اینکه متکی به callback توابع هستیم و عموما نمیتوان مقادیر یا throw exceptions را بازگرداند مشکل است.

یکی از بسته های قابل استفاده در icicle، بسته HTTP است که به منظور راه اندازی یک HTTP/1.1 server و client غیر همزمان استفاده میشود.

مانند سایر component های icicle، این کتابخانه هم از coroutines ساخته شده توسط awaitables و generators برای پیاده سازی برنامه نویسی غیر همزمان استفاده میکند.

 

بیشتر بخوانید

Hashids، تولید یک شناسه منحصر به فرد از اعداد صحیح (integers)

Hashids یک کتابخانه متن باز و کوچیکه که شناسه هایی کوتاه، منحصر به فرد و غیر متوالی از اعداد را تولید میکند.

به عنوان مثال عدد 347 تبدیل به رشته ی “yr8” خواهد شد، یا آرایه ای شامل اعداد مانند [27, 986] تبدیل به “3kTMd” میشود.

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

نمونه ای از خروجی این کتابخانه را در اینجا مشاهده کنید.

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

https://url.ir/lqY9X

بیشتر بخوانید

ساخت یک هکر خبر خوان با استفاده از کلاس readability!

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

به عنوان مثال سایتی با موضوع پرورش هویج! تصمیم داره از مراجع مختلف اطلاعاتی در این زمینه جمع آوری و داخل سایت خودش نمایش بده.

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

من تصمیم دارم RSS یک سایت رو به این کلاس معرفی و در انتها آخرین محتوای ارسال شده اون سایت رو دریافت کنم.

بیشتر بخوانید

تست سریع و آسان Web API با استفاه از Postman

Postman

Postman یک افزونه گوگل کروم هست که با استفاده از اون میشه براحتی متد های یک Web API رو اجرا، تست یا بررسی کرد.

این ابزار به ما کمک میکنه تا به سرعت یک درخواست HTTP ایجاد و ارسال کنیم.

ذخیره درخواست ها برای استفاده های بعدی، تجزیه و تحلیل پاسخ ها، تغییر سریع محتوای یک درخواست، احراز هویت کاربر هنگام با ارسال اطلاعات، سفارشی کردن و... از امکانات خوب این افزونه هست که باعث میشه در هنگام توسعه یک API زمان بسیار زیادی رو صرفه جویی کنید.

وبسایت افزونه

ویدئو های آموزشی

حل مشکل تایپ فارسی در phpstorm

phpstorm از نسخه 2016 به بعد زبان فارسی رو به خوبی پشتیبانی میکنه.
برای حل مشکل فارسی نویسی در نسخه های 9 به بالا (تا قبل از 2016)  مراحل زیرُ انجام بدین:

1- در محل نصب نرم افزار فایل idea.properties رو پیدا کنید
2- با یک ادیتور مثل notepad بازش کنید و خط زیرُ به انتهای فایل اضافه کنید:

editor.new.rendering=true

3- یک بار phpstrom رو ببندید و دوباره باز کنید.

ساخت یک RESTful Web Service با استفاده از slim 3

REST چیست؟ 
representational state transfer یا به طور خلاصه REST معماري است که مجموعه اي از اصولی را تعریف میکند تا به وسیله ي آن server و client بتوانند با هم ارتباط برقرار کنند. 
RESTful به سیستم هایی گفته میشود که داراي معماري کلی REST هستند. 
RESTful معمولا بر روي پرتکل HTTP و با استفاده از 4 عملیات پایه GET, PUT, POST, DELETE کار میکند.
علاوه بر این میتواند براي تعریف یک پیغام SOAP از WSDL بروي HTTP استفاده کند یا میتواند یک کلاس انتزاعی باشد که صرفاً بروي SOAP بنا شده باشد.
REST میتواند جایگزین مناسبی براي SOAP باشد، اما براي کار هاي ساده...
Slim چیست؟
Slim یک PHP micro framework هست که در نوشتن برنامه هاي کاربردي و در عین حال قدرتمند به ما کمک میکند.
Slim امکان دریافت یک درخواست HTTP، فراخوانی یکروال و ارسال پاسخ آن را به ما میدهد، فوق العاده سریع و داراي کد بسیار کمی هست در نتیجه ابزار مناسبی براي کار ما میباشد.

بیشتر بخوانید
عضویت در خبرنامه
جهت اطلاع از آخرین فعالیت های من لطفا در خبرنامه عضو شوید