یک لینک را به پروتکل، میزبان، پورت، مسیر، پرسوجو و قطعه تقسیم کنید، همانطور که مرورگر انجام میدهد.
کدگذار / کدگشای URL
خود ابزار به زبان انگلیسی است؛ این صفحه آن را به زبان شما توضیح میدهد.
از کدگذار / کدگشای URL استفاده کنید
کارکرد
متن رمزگذاریشده با درصد را رمزگشایی کنید، مانند مقصد هدایت پنهانشده در یک لینک فیشینگ، یا متن را برای استفاده در یک URL با encodeURIComponent یا encodeURI رمزگذاری کنید.
این کاملاً در مرورگر شما اجرا میشود: هیچیک از اطلاعاتی که وارد میکنید بارگذاری نمیشود.
چگونه از کدگذار / کدگشای URL استفاده کنیم
- متن را جایگذاری کنید. متن رمزگذاریشده را چسبانید، برای مثال مقدار پارامتر url= یا redirect=، یا متن سادهای را که میخواهید رمزگذاری کنید.
- عمل را انتخاب کنید. دکود را فشار دهید تا دنبالههای %XX را دوباره به کاراکترها تبدیل کنید، encodeURIComponent را برای رمزگذاری یک مقدار واحد، یا encodeURI را برای رمزگذاری یک آدرس کامل استفاده کنید.
- خروجی را بخوانید. نتیجه در کادر زیر دکمهها نمایش داده میشود. خطا به این معنی است که ورودی برای آن اقدام معتبر نیست.
- در صورت نیاز دوباره رمزگشایی کنید. هر بار که دکمهٔ رمزگشایی را فشار میدهید، یک لایه برداشته میشود. اگر هنوز %25، %3A یا %2F را میبینید، خروجی را دوباره در کادر بچسبانید و دوباره رمزگشایی کنید.
- کپی کن یا به دیگران منتقل کن. Copy نتیجه را میگیرد. Send to… آن را به Link Unwrapper، Multi-Layer Decoder، URL Defanger یا Homoglyph Checker ارسال میکند.
مثال
هدف تغییر مسیر رمزگذاریشده
https%3A%2F%2Flogin.example.com%2Fverify%3Fuser%3Dalice%40example.com%26step%3D2https://login.example.com/verify?user=alice@example.com&step=2Decode آدرس ایمیل https://login.example.com/verify?user=alice@example.com&step=2 را نشان میدهد. لینکهای فیشینگ اغلب آدرس ایمیل گیرنده را به این شکل حمل میکنند تا صفحهٔ ورود جعلی بتواند آن را پر کند.
آنچه بررسی میکند
| سیگنال | معنای آن |
|---|---|
| نتیجهٔ رمزگشاییشده | هر دنباله %XX به کاراکتری که نماینده آن است تبدیل میشود، با کدگذاری UTF-8 خوانده میشود. به دنبال یک آدرس کامل دوم، یک آدرس ایمیل یا یک اسکریپت درون آن بگردید. |
| ۲۵٪ در خروجی باقی مانده است | %25 یک علامت درصد رمزگذاریشده است. اگر خروجی همچنان شامل %3A، %2F یا %25 باشد، احتمالاً متن اصلی دو بار رمزگذاری شده است؛ روشی رایج برای پنهان کردن مقصد در نگاه اول. |
| خطا | رمزگشایی در صورت برخورد با یک درصد تنها، یک درصد که پس از آن کاراکترهای غیرهگزا قرار دارند یا یک دنباله ناقص UTF-8 شکست میخورد. رمزگذاری تنها در صورت برخورد با یک جفت نماینده شکسته شکست میخورد که در متن چسباندهشده نادر است. |
| علامتهای مثبت | decode leaves + را همانطور که هست باقی میگذارد. در رشتههای پرسوجوی سبک فرم + به معنای یک فاصله است، پس خودتان آن را اینگونه بخوانید. |
| خروجی encodeURIComponent | همه چیز را به جز حروف، ارقام و چند علامت مانند خط تیره، خط زیرخط، نقطه و تیلد رمزگذاری میکند؛ بنابراین : / ؟ & = # و @ همگی رمزگذاری میشوند. از آن برای یک مقدار پارامتر، مانند آدرس ایمیل، استفاده کنید. |
| خروجی encodeURI | کاراکترهایی را که ساختار یک URL را تشکیل میدهند، مانند : / ؟ & = # @، حفظ میکند و فاصلهها و حروف غیرASCII را رمزگذاری میکند. |
| حروف غیر ASCII | کدگذاری هر حرف غیرASCII را بهصورت دو تا چهار بایت %XX مینویسد. حرف سیریلیک یا دارای آکسان که به این شکل پنهان شده باشد، تنها پس از رمزگشایی نمایان میشود. |
نمونههای بیشتر
هدف تغییر مسیر رمزگذاریشدهٔ دوبرابر
https%253A%252F%252Fexample.net%252Flogindecode مقدار https%3A%2F%2Fexample.net%2Flogin را برمیگرداند. با رمزگشایی مجدد آن خروجی، مقدار https://example.net/login به دست میآید.
آدرس ایمیل بهعنوان یک مقدار پارامتر
alice@example.com&next=/accountencodeURIComponent مقدار alice%40example.com%26next%3D%2Faccount را برمیگرداند، بنابراین & و / دیگر نمیتوانند پرسوجو را تقسیم کنند.
آدرس کامل با یک فاصله و یک علامت تأکید
https://example.org/search?q=café & teaencodeURI مقدار https://example.org/search?q=caf%C3%A9%20&%20tea را برمیگرداند. علامت & باقی میماند، بنابراین tea یک پارامتر جدید را آغاز میکند؛ برای مقدار از encodeURIComponent استفاده کنید.
سوالات متداول
تفاوت بین این سه دکمه چیست؟
encodeURIComponent همه چیز را به جز حروف، ارقام و چند علامت مانند - _ . ~ رمزگذاری میکند، بنابراین برای یک مقدار پارامتر منفرد مناسب است. encodeURI ساختار URL مانند : / ? & = # را دستنخورده نگه میدارد و decode توالیهای %XX را معکوس میکند.
چرا دیکودینگ خطا را نشان میدهد یا %2F را پشت سر میگذارد؟
یک توالی معیوب مانند یک % تنها یا یک %E0%A4 ناقص باعث شکست رمزگشایی میشود و ابزار خطا را نشان میدهد. این ابزار در هر اجرا یک لایه را حذف میکند، بنابراین متن دوبارهرمزگذاریشده (%252F) نیاز به یک گذر دوم یا رمزگشای چندلایه دارد و + به فاصله تبدیل نمیشود.
آیا متن ارسال میشود؟
خیر. رمزگذاری و رمزگشایی با استفاده از توابع داخلی مرورگر در این صفحه انجام میشود؛ هیچ چیزی بارگذاری نمیشود و هیچ لینکی باز نمیشود.
چرا یک لینک فیشینگ اصلاً باید رمزگذاری شود؟
رمزگذاری یک آدرس قابلخواندن را درون یک پارامتر پنهان میکند، بنابراین پیشنمایش، فیلتر یا نگاه سریع تنها میزبان اول را میبینند. سرویسهای تغییر مسیر و اسکنرهای ایمیل نیز هنگام بستهبندی یک لینک، مقصد را رمزگذاری میکنند.
آیا رمزگشایی چیز دیگری را در متن تغییر میدهد؟
خیر. تنها توالیهای %XX تغییر میکنند. حروف و علامتهای + همانطور که هستند باقی میمانند و انتیتهای HTML تبدیل نمیشوند.
چگونه یک لینک کامل پیچیدهشده، مانند آدرس Safe Links را رمزگشایی کنم؟
از Link Unwrapper استفاده کنید. این ابزار پارامتر حاوی مقصد را پیدا کرده و آن را لایهبهلایه رمزگشایی میکند. این ابزار کل رشته را یکجا رمزگشایی میکند، بنابراین بخشهایی که به بستهبندی تعلق دارند نیز رمزگشایی میشوند.
چرا حروف دارای آکسنت یا سیریلیک به چندین گروه %XX تبدیل میشوند؟
کاراکترهای خارج از ASCII ابتدا بهعنوان بایتهای UTF-8 نوشته میشوند و هر بایت بهطور جداگانه رمزگذاری میشود. é تبدیل به %C3%A9 میشود و Cyrillic а تبدیل به %D0%B0 میشود.