mdi-flower عني المهارات المشاريع المدونة السيرة الذاتية أدوات تواصل معي طلب خدمة English
الرئيسية أدوات اختصار الروابط

اختصار الروابط

حوّل الروابط الطويلة إلى روابط wfiori.co قصيرة قابلة للمشاركة.

اختصار {{ error_message }}

رابطك المختصر

كيف تعمل أداة اختصار الروابط

اختصر رابطاً بالأعلى وشاهد بالضبط ما يحدث خلف الكواليس — من التحقق والحماية من الروبوتات وصولاً إلى التخزين وإعادة التوجيه الدائمة. كل قيمة بالأسفل مأخوذة من طلبك الفعلي.

مسار المعالجة
mdi-link-variant
الإدخال
→
mdi-shield-check
التحقق
→
mdi-cog
إثبات العمل
→
mdi-dice-5
توليد الرمز
→
mdi-pound
التجزئة
→
mdi-database
التخزين
→
mdi-cursor-default-click
البحث
→
mdi-arrow-right-bold
إعادة توجيه 301
اختصر رابطاً بالأعلى لترى كل مرحلة تُضيء ببيانات حقيقية. إعادة تشغيل الحركة
1 mdi-link-variant تُرسل رابطاً

يُرسَل الرابط الطويل إلى الخادم عبر واجهة shorten-link مع حل تحدي إثبات العمل.

رابطك {{ steps.input }}
2 mdi-shield-check يتحقق الخادم منه

يُقبل فقط http/https. تُرفض الروابط إلى المضيفين الداخليين أو الخاصين حتى لا تُستغل الأداة للوصول إلى الأنظمة الداخلية.

البروتوكول {{ steps.input ? steps.input.split('://')[0] : '' }}
التحقق {{ step_validation_status }}
3 mdi-cog يُتحقق من إثبات العمل

متصفحك حلّ لغزاً مسبقاً: إيجاد رقم تبدأ تجزئته بـ SHA-256 بعدة أصفار. يتحقق الخادم من التحدي الموقّع ومن الحل قبل القيام بأي عمل.

قيمة التحدي (nonce) {{ pow_debug.nonce }}
الصعوبة (أصفار البداية) {{ pow_debug.difficulty }}
الحل المُكتَشف {{ pow_debug.solution }}
التجزئة الناتجة {{ pow_debug.hashPreview }}
4 mdi-dice-5 يُولَّد رمز قصير

يُسحب رمز من 6 أحرف من أبجدية مكوّنة من 62 حرفاً باستخدام مولّد أرقام عشوائية آمن تشفيرياً، مما يعطي فضاء مفاتيح هائلاً يتعذّر تخمينه.

حجم الأبجدية {{ steps.alphabetSize }}
طول الرمز {{ steps.codeLength }}
فضاء المفاتيح {{ keyspace_text }}
الرمز المُولَّد {{ steps.code }}
5 mdi-pound يُوحَّد الرابط ويُجزّأ

يُحوَّل البروتوكول والمضيف إلى أحرف صغيرة، ثم تُجزّأ النتيجة بـ SHA-256. تُخزَّن هذه التجزئة في عمود فريد ليشير الوجهة نفسها دائماً إلى رمز واحد.

الرابط المُوحَّد {{ steps.normalized }}
تجزئة SHA-256 {{ steps.hash }}
6 mdi-database يُخزَّن السجل

يُدرَج الرمز والوجهة والتجزئة ووقت الإنشاء وعنوان IP للمنشئ (لتتبّع إساءة الاستخدام فقط) في جدول short_url. وإذا كانت التجزئة موجودة مسبقاً، يُعاد الرمز الموجود بدلاً من ذلك.

النتيجة {{ dedup_text }}
7 mdi-cursor-default-click يفتح أحدهم الرابط القصير

عند زيارة https://wfiori.co/<code>، يبحث المحلّل عن الرمز عبر مفتاحه الأساسي — بحث بفهرس بتعقيد O(1).

مفتاح البحث (id) {{ steps.code }}
الرابط القصير {{ steps.shortUrl }}
8 mdi-arrow-right-bold تتم إعادة توجيهه

يستجيب الخادم بإعادة توجيه دائمة HTTP 301 إلى الرابط الأصلي، ويُزاد عدّاد النقرات.

الاستجابة {{ redirect_text }}
mdi-table أين يُخزَّن: جدول short_url

كل رابط قصير هو صف واحد في جدول MySQL هذا. الرمز القصير هو المفتاح الأساسي، ويحمل url_hash فهرساً فريداً يدعم كلاً من إزالة التكرار والبحث السريع.

العمود النوع الغرض
id VARCHAR(6) PK الرمز القصير نفسه والمفتاح الأساسي. البحث بالرمز بتعقيد O(1).
created_at TIMESTAMP وقت إنشاء الرابط.
redirect_to VARCHAR(2048) الوجهة الأصلية (الرابط الطويل).
url_hash VARCHAR(64) UNIQUE تجزئة SHA-256 للرابط المُوحَّد. فريد — يفرض إزالة التكرار على مستوى قاعدة البيانات.
number_of_clicks INT عدد مرات زيارة الرابط القصير.
ip_address VARCHAR(45) NULL عنوان IP للمنشئ، يُخزَّن لاكتشاف إساءة الاستخدام فقط. لا يُعرض للمستخدمين أبداً.
mdi-shield-lock طبقات الحماية

لأن أداة الاختصار العامة هدف للرسائل المزعجة والتصيد، تعمل عدة دفاعات مُستضافة ذاتياً مع كل طلب — بدون خدمات خارجية وبدون كابتشا.

mdi-cog-sync
إثبات العمل
لغز حسابي موقّع تنتهي صلاحيته يجب على المتصفح حله، مما يجعل الإنشاء الآلي الواسع مكلفاً.
mdi-speedometer
تحديد المعدل
حدود لكل عنوان IP (في الدقيقة واليوم) إضافة إلى قاطع دائرة عام، كلها مشتقّة من قاعدة البيانات.
mdi-shield-check
التحقق من الوجهة
قائمة سماح للبروتوكولات وحجب المضيفين الداخليين/الخاصين لمنع SSRF وحلقات إعادة التوجيه.
mdi-robot-off
حقل مصيدة
حقل مخفي لا يملؤه المستخدمون الحقيقيون؛ فإن مُلئ، يُرفض الطلب بصمت كروبوت.
mdi-ip-network
تسجيل IP
يُسجَّل عنوان IP للمنشئ لتتبّع إساءة الاستخدام — يُخزَّن على الخادم فقط ولا تعيده الواجهة أبداً.
mdi-key-variant
رموز يتعذّر تخمينها
رموز مُولَّدة بـ CSPRNG من أبجدية 62 حرفاً تجعل الحصر غير عملي.
المفاهيم
تخزّن أداة اختصار الروابط رابطك الطويل في قاعدة بيانات تحت رمز قصير فريد. وعندما يزور أحدهم الرابط المختصر (https://wfiori.co/<code>)، يبحث الخادم عن الرمز ويعيد توجيهه إلى الرابط الأصلي. الرمز المختصر عبارة عن سلسلة من 6 أحرف يتم توليدها باستخدام مولّد أرقام عشوائية آمن تشفيرياً. ومع 62 حرفاً محتملاً لكل موضع، هناك نحو 56.8 مليار تركيبة، مما يجعل تخمين الرموز أو حصرها شبه مستحيل. إذا اختصرت الرابط نفسه مرتين، تحصل على الرمز المختصر نفسه. يتم توحيد الرابط (تحويل البروتوكول والمضيف إلى أحرف صغيرة) وتجزئته بـ SHA-256؛ ويمنع فهرس فريد على هذه التجزئة تكرار الروابط على مستوى قاعدة البيانات. أدوات اختصار الروابط العامة هدف شائع للرسائل المزعجة والتصيد. هذه الأداة محمية بعدة طبقات مُستضافة ذاتياً — بدون أي خدمات خارجية مثل reCAPTCHA، وبدون تتبّع للزوار. بدلاً من الكابتشا، يجب على متصفحك حل لغز صغير لإثبات العمل قبل إنشاء الرابط: يبحث عن رقم تبدأ تجزئته بـ SHA-256 بعدة أصفار. يستغرق ذلك جزءاً من الثانية في متصفحك لكنه يجعل الإساءة الآلية الواسعة مكلفة حسابياً. والتحدي موقّع من الخادم (HMAC) وتنتهي صلاحيته، فلا يمكن تزويره أو إعادة استخدامه. عند إنشائك رابطاً، يُخزَّن عنوان IP الخاص بك معه. ويُستخدم ذلك فقط لاكتشاف وتتبّع إساءة الاستخدام (الرسائل المزعجة والتصيد) ولفرض حدود المعدل. ولا يُعرض أبداً للمستخدمين الآخرين ولا تعيده واجهة البرمجة. ملاحظة: تُحفظ عناوين IP إلى أجل غير مسمى لأغراض منع إساءة الاستخدام. يتم التحقق من كل وجهة على الخادم: يُسمح فقط بروابط http وhttps، وتُرفض الروابط التي تشير إلى عناوين داخلية أو خاصة (localhost، نطاقات IP الخاصة، link-local) لمنع استخدام الأداة للوصول إلى الأنظمة الداخلية. كما تحدّ قيود المعدل عدد الروابط التي يمكن لعنوان IP واحد — وللخدمة ككل — إنشاؤها في الدقيقة واليوم.
{{ dialog.title }} Close
© 2026 ابراهيم الأبن الشيخ — مبني بـ WebFiori + Vuetify