التحقق من مفتاح API: البادئة والطول ومجموعة المحارف
يكون المفتاح صالحًا عندما يبدأ بالبادئة المتوقعة ويبلغ طوله 18 محرفًا بالضبط مع البادئة ولا يحوي بعدها إلا حروفًا وأرقامًا. اكتشفوا مبكرًا المفاتيح المقطوعة أو المضاف إليها مسافات أو الخاصة ببيئة أخرى. مجانًا في متصفحكم.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
تتحقق هذه الأداة من البادئة المطلوبة والطول الكلي الدقيق والمحارف المسموح بها بعد البادئة. ولا تجري أي اتصال بالشبكة، ولا تصادق لدى المزود، ولا تدّعي أن المفتاح المطابق نشط. استخدموها لاكتشاف الاقتطاع أو المسافات المضافة عرضًا أو أخطاء النسخ واللصق أو مفتاح مأخوذ من بيئة أخرى قبل حفظ بيانات الاعتماد في الإعدادات أو استخدامها في النشر.
صفوا التنسيق المتوقع
ضعوا القيمة المراد فحصها في <code>key</code> وحددوا التوقع كاملًا داخل <code>pattern</code>. يتطلب النمط القيم <code>prefix</code> و<code>length</code> و<code>charset</code>. ويعني الطول طول سلسلة JavaScript كاملة بما فيها البادئة، لا الجزء السري وحده.
أما مجموعة المحارف فتطبق على الجزء اللاحق لبادئة مطابقة. ويمكنكم بدلًا من ذلك تقديم سلسلة تضم كل محرف مسموح به لتغطية أبجدية خاصة بمزود معين. إذا لم يستخدم المزود بادئة، فقدموا سلسلة فارغة مع إبقاء الحقل موجودًا.
وجود النمط إلزامي، وجمع القيود الثلاثة يمنع اعتبار فحص الطول وحده تحققًا كاملًا. الحد الأعلى هو 10,000 محرف لضمان معالجة متوقعة مع استيعاب المفاتيح العملية.
اقرؤوا كل نتيجة على حدة
لا تكون القيمة العليا <code>valid</code> صحيحة إلا إذا نجحت الاختبارات الثلاثة كلها. لا تعاد قيمة المفتاح المرشح أبدًا. إذا لم تطابق البادئة، تفحص الأداة السلسلة كاملة لأنها لا تستطيع تخمين موضع بداية الجزء السري بأمان.
لذلك قد تفشل عدة اختبارات معًا. النتيجة حتمية ولا تعتمد على الساعة أو العشوائية أو حالة المزود أو الشبكة. وتعني النتيجة السلبية اختلافًا في التنسيق فقط، ولا تثبت أن بيانات الاعتماد ملغاة أو غير نشطة.
تحققوا من التنسيق عند الحدود الآمنة
يفيد فحص التنسيق أكثر قبل إدخال المفتاح في مخزن إعدادات أو متغير نشر أو أداة سطر أوامر أو نموذج تكامل. فهو يكتشف الأخطاء البنيوية مبكرًا دون إرسال بيانات الاعتماد إلى الخدمة المصدرة. تعاملوا مع التطابق بوصفه فحصًا أوليًا فقط؛ فهو لا يثبت وجود المفتاح أو ارتباطه بالحساب المتوقع أو امتلاكه الأذونات المناسبة أو عدم انتهاء صلاحيته أو إلغائه.
تتطلب هذه الحقائق مصادقة منفصلة ومصرحًا بها صراحةً لدى المزود. لا تسجلوا المفاتيح أو المدخلات الكاملة في سجلات التطبيقات أو التحليلات أو تذاكر الدعم أو أنظمة تتبع الأخطاء. أخفوا القيمة الأصلية في الواجهة واعرضوا مؤشرات الفحص والأطوال فقط.
استخرجوا النمط من أحدث وثائق المزود وراجعوه كلما تغير تنسيق بيانات الاعتماد.
حالات الاستخدام
حماية متغير النشر
ارفضوا المفتاح المقتطع أو المحتوي على مسافات أو التابع لبيئة خاطئة قبل بدء النشر.
فحص نموذج التكامل
قدموا إرشادًا دقيقًا بشأن البادئة والطول والمحارف المخالفة دون محاولة المصادقة.
مراجعة ترحيل الإعدادات
أكدوا احتفاظ الأسرار المنقولة بالبنية المتوقعة دون كشفها في النتيجة.
الأسئلة الشائعة
ما الذي يشمله الطول؟
إنه الطول الدقيق لسلسلة JavaScript كاملة، بما فيها البادئة والجزء السري.
هل تعني النتيجة الصالحة أن مفتاح الوصول يعمل؟
لا. فهي تؤكد شكل المفتاح فقط، ولا تثبت أنه موجود أو تابع للحساب الصحيح أو يملك الصلاحيات المناسبة أو أنه لم تنتهِ صلاحيته أو يُلغَ. هذه الأمور تعرفها الخدمة التي أصدرته وحدها.
هل يُرسل مفتاحي إلى أي جهة أثناء الفحص؟
لا. لا يجري الفحص أي اتصال بالشبكة ولا يتواصل مع الجهة التي أصدرت المفتاح. كما أن المفتاح نفسه لا يظهر في النتيجة، فيمكنكم عرضها دون كشف السر.
لماذا تفشل عدة فحوص مع أن البادئة وحدها خاطئة؟
عندما لا تتطابق البادئة لا تستطيع الأداة معرفة بداية الجزء السري، فتفحص محارف المفتاح كله. لذلك قد يُضاف فشل في المحارف إلى فشل البادئة، وهذا يساعد على تحديد الخطأ الحقيقي.
ما مجموعات المحارف التي يمكنني اختيارها؟
يمكنكم اختيار الحروف والأرقام، أو الحروف الصغيرة مع الأرقام، أو الكبيرة مع الأرقام، أو الست عشرية، أو الست عشرية الصغيرة، أو Base64 الملائم لعناوين الويب. ويمكنكم أيضًا كتابة قائمة المحارف التي يقبلها مزوّدكم بالضبط.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/security/api-key-format-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"key":"sk_live_Ab3dE5fG7h","pattern":{"prefix":"sk_live_","length":18,"charset":"alphanumeric"}}'const res = await fetch("https://api.kit.forhosting.com/security/api-key-format-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"key": "sk_live_Ab3dE5fG7h",
"pattern": {
"prefix": "sk_live_",
"length": 18,
"charset": "alphanumeric"
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/api-key-format-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"key": "sk_live_Ab3dE5fG7h",
"pattern": {
"prefix": "sk_live_",
"length": 18,
"charset": "alphanumeric"
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/api-key-format-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"key":"sk_live_Ab3dE5fG7h","pattern":{"prefix":"sk_live_","length":18,"charset":"alphanumeric"}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"key":"sk_live_Ab3dE5fG7h","pattern":{"prefix":"sk_live_","length":18,"charset":"alphanumeric"}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/api-key-format-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"key": "sk_live_Ab3dE5fG7h",
"pattern": {
"prefix": "sk_live_",
"length": 18,
"charset": "alphanumeric"
}
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.api_key_format_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
غالبًا ما يكون لمفاتيح API شكل يمكن تمييزه، مع أن الخدمة التي أصدرتها هي وحدها القادرة على تأكيد صلاحيتها.
صفوا التنسيق المتوقع
تتوفر المجموعات المسماة <code>alphanumeric</code> و<code>lowercase_alphanumeric</code> و<code>uppercase_alphanumeric</code> و<code>hex</code> و<code>lowercase_hex</code> و<code>base64url</code>.
اقرؤوا كل نتيجة على حدة
وتعرض الاستجابة كذلك <code>has_prefix</code> و<code>length_matches</code> و<code>charset_matches</code> منفصلة، لكي توضح الواجهة ما ينبغي تصحيحه بدقة. يكشف <code>actual_length</code> و<code>expected_length</code> الاقتطاع أو المحرف الملصق زيادةً بسرعة. وعند فشل فحص الأبجدية، يسرد <code>invalid_characters</code> كل محرف غير مسموح به مرة واحدة وفق ترتيب ظهوره الأول.
تحققوا من التنسيق عند الحدود الآمنة
يمكن تشغيل التنفيذ الحتمي محليًا في المتصفح، ويمكن للأنظمة الآلية استخدام API بسعر $0.002 لكل طلب.
أسئلة تقنية
هل تعني النتيجة الصحيحة أن مفتاح API نشط؟
لا. تعني فقط أن السلسلة تطابق التنسيق المحدد، ولا تتصل الأداة بالمزود أو تصادق لديه.
ما مجموعات المحارف المسماة المتاحة؟
استخدموا alphanumeric أو lowercase_alphanumeric أو uppercase_alphanumeric أو hex أو lowercase_hex أو base64url، أو قدموا المحارف المسموح بها صراحةً.
هل يظهر مفتاح API في الاستجابة؟
لا. تتضمن الاستجابة حقائق الفحص والمحارف المخالفة المميزة، ولا تكرر المفتاح المرشح.
ماذا يحدث إذا لم يقدم نمط؟
يفشل الطلب بالخطأ invalid_input لأن البادئة والطول ومجموعة المحارف حقول إلزامية.
كم تبلغ كلفة طلب API؟
يكلف كل طلب $0.002. ويمكن تشغيل التحقق الحتمي نفسه محليًا في المتصفح.