ما الذي تفعله الأداة
تحوّل أداة تهريب السلاسل النصية النص إلى صيغة يمكن وضعها داخل سلسلة حرفية، وتعيد السلاسل المهرّبة إلى نص عادي. تدعم تسع وجهات: JSON وJavaScript وJava وC# وPython والسلاسل الحرفية في SQL وحقول CSV ونصوص XML وسماتها والتعابير النمطية وأوامر صدفة POSIX. تتبع كل وجهة قواعد لغتها، لذا يمكن لصق النتيجة مباشرة في الشيفرة دون أخطاء نحوية.
من الاستخدامات الشائعة وضع رسالة متعددة الأسطر أو مسار ويندوز في ملف إعدادات JSON، أو تضمين مقطع HTML في سلسلة JavaScript، أو اقتباس اسم ملف يحتوي مسافات لسكربت صدفة، أو تحويل عبارة بحث حرفية مثل price (USD) إلى تعبير نمطي يطابقها حرفيًا.
طريقة الاستخدام
- اختر تهريب أو إلغاء التهريب.
- اختر اللغة أو الصيغة.
- الصق النص في حقل الإدخال أو انقر مثال. تتحدّث النتيجة أثناء الكتابة.
- انسخ المخرجات، أو اضغط استخدامه كمدخل لعكس التحويل والتأكد من العودة إلى النص الأصلي.
في JSON وJavaScript وJava/C# وPython يمكنك أيضًا تهريب كل الأحرف غير ASCII، فتحصل على سلسلة ASCII خالصة تصمد أمام أي ترميز ملفات.
مثال
السطر نفسه مهرّبًا لوجهات مختلفة:
Input: He said "hi" in C:\Temp
JSON: He said \"hi\" in C:\\Temp
SQL: He said "hi" in C:\Temp (only ' is doubled)
Regex: He said "hi" in C:\\Temp
Shell: 'He said "hi" in C:\Temp'
قواعد كل صيغة
- JSON: تهرّب علامات الاقتباس والشرطات المائلة العكسية وأحرف التحكم، تمامًا مثل
JSON.stringify. - JavaScript: تهرّب أيضًا علامات الاقتباس المفردة وعلامات الاقتباس المائلة وعلامة الجدولة العمودية وفاصلي الأسطر U+2028 وU+2029.
- Java / C#: تهريب بالشرطة المائلة العكسية و
\uXXXX، وعند إلغاء التهريب تقبل أيضًا تسلسلات Java الثمانية و\xو\Uفي C#. - Python: تهريب بالشرطة المائلة العكسية مع
\xو\uو\U، وتبقى التسلسلات غير المعروفة كما هي. - SQL: تضاعف علامات الاقتباس المفردة وفق السلاسل الحرفية القياسية في SQL.
- CSV: تحيط القيمة بعلامات اقتباس مزدوجة وتضاعف العلامات الداخلية إذا احتوت فاصلة أو علامة اقتباس أو فاصل سطر أو مسافات في طرفيها.
- XML: تستبدل الكيانات الخمسة المعرّفة مسبقًا، وعند إلغاء التهريب تفك أيضًا مراجع الأحرف الرقمية.
- التعبير النمطي: تضع شرطة مائلة عكسية قبل كل حرف له معنى خاص، كي يطابق النمط النص حرفيًا.
- الصدفة: تحيط القيمة بعلامات اقتباس مفردة، التي تعطّل كل توسيع في صدفات POSIX، وتكتب علامات الاقتباس الداخلية بالشكل
'\''.
الأسئلة الشائعة
› ماذا يعني تهريب سلسلة نصية؟
لبعض الأحرف معنى خاص داخل السلسلة الحرفية، مثل علامة الاقتباس التي تنهيها أو فاصل السطر. يستبدلها التهريب بتسلسل آمن، عادةً شرطة مائلة عكسية يليها حرف، كي يمكن لصق السلسلة في الشيفرة أو استعلام أو ملف دون إفساده.
› هل ألصق علامات الاقتباس المحيطة بالسلسلة؟
لا. الصق المحتوى فقط. النتيجة المهرّبة هي ما يوضع بين علامتي الاقتباس في شيفرتك. أما CSV والصدفة، اللذان يقتبسان القيمة كاملة، فتضيف الأداة علامات الاقتباس الخارجية بنفسها عند الحاجة.
› هل يكفي تهريب SQL لمنع حقن SQL؟
مضاعفة علامات الاقتباس المفردة تُنتج سلسلة حرفية صالحة، وهذا مفيد عند كتابة استعلام يدويًا أو تجهيز سكربت ترحيل. أما في شيفرة التطبيق فاستخدم دائمًا الاستعلامات ذات المعاملات أو العبارات المُعدّة مسبقًا بدل بناء SQL من السلاسل النصية.
› لماذا يُبلّغ إلغاء التهريب عن تسلسل هروب غير معروف؟
تقبل كل لغة مجموعة مختلفة من تسلسلات الهروب. فمثلًا لا تحتوي JSON على \x أو \0، لذا تشير الأداة إلى موضع أول تسلسل سترفضه اللغة المختارة. أما Python فتُبقي تسلسلات مثل \d كما هي، تمامًا كما يفعل مفسّر Python.
› هل يُرفع نصي؟
لا. يجري التهريب وإلغاؤه في متصفحك ولا يُرسَل أي شيء إلى خادم.