ลิงก์ เว็บไซต์ และอีเมล
คิวอาร์โค้ดนี้ปลอดภัยไหม?
ขอบเขต: อ่าน QR โค้ดจากทุกประเทศ: ลิงก์ หมายเลขโทรศัพท์ SMS อีเมล เครือข่าย Wi-Fi รายชื่อติดต่อ กิจกรรม ตำแหน่ง คริปโต และการชำระเงิน (การโอนเงิน SEPA ใบแจ้งหนี้ QR ของสวิตเซอร์แลนด์ UPI, Pix, PromptPay, PayNow, QRIS, DuitNow, FPS และโค้ด EMV อื่น ๆ) ลิงก์จะถูกตรวจสอบด้วยกฎของ NoCall สำหรับฉบับนี้ และหมายเลขโทรศัพท์จะถูกตรวจสอบกับแผนเลขหมายที่เผยแพร่
เปิดเครื่องมือในหน้านี้
วัตถุประสงค์
เลือกรูปถ่ายหรือภาพหน้าจอของ QR โค้ด แล้วดูว่าโค้ดนั้นทำอะไรจริง ๆ: เปิดเว็บไซต์ โทรออก ส่ง SMS เชื่อมต่อเครือข่าย Wi-Fi หรือเตรียมการชำระเงิน ก่อนที่คุณจะสแกนด้วยโทรศัพท์
ข้อกำหนด
ทุกคนอ่านคู่มือเหล่านี้ได้โดยไม่ต้องมีบัญชี เครื่องมือบางอย่างต้องใช้ Pro ตามที่ระบุในแต่ละคู่มือ
QR โค้ดปลอมพบได้บนเครื่องจ่ายค่าจอดรถ จดหมาย ใบสั่งค่าปรับ อีเมล และโปสเตอร์ เลือกรูปถ่ายหรือภาพหน้าจอของโค้ด: เราจะอ่านโค้ดในเบราว์เซอร์ของคุณโดยไม่ส่งรูปภาพออกไปที่ใด แล้วบอกว่าโค้ดนั้นทำอะไรก่อนที่คุณจะเปิด
วิธีใช้งาน
เลือกรูปหรือถ่ายรูป
มีเนื้อหาของโค้ดอยู่แล้วใช่ไหม วางที่นี่
อ่านข้อมูลที่มีพร้อมข้อจำกัด ผลลัพธ์ว่างไม่ได้ยืนยันความปลอดภัยหรือระบุตัวบุคคล
ตัวอย่างสมมติ
ตัวอย่างสมมติ ไม่ใช่ผลการค้นหาจริง ห้ามโทรหรือเปิดลิงก์ในตัวอย่าง
https://parking.example/payทำความเข้าใจผลลัพธ์
อย่าเปิด: โค้ดนี้มีสัญญาณของการหลอกลวง หากคุณพบโค้ดนี้บนเครื่องจ่ายค่าจอดรถ จดหมาย หรือโปสเตอร์ ให้ชำระเงินหรือเข้าสู่ระบบผ่านแอปหรือเว็บไซต์ทางการ โดยพิมพ์ที่อยู่เอง
ตรวจสอบก่อนยืนยันสิ่งใด: เราไม่พบการหลอกลวงที่ชัดเจน แต่โค้ดนี้ทำบางอย่างที่ควรตรวจดูก่อนที่คุณจะยืนยันบนโทรศัพท์
ไม่พบสัญญาณอันตราย: แต่ไม่ได้รับประกันว่าเป็นของจริง ตรวจสอบว่าที่อยู่หรือปลายทางตรงกับที่คุณคาดไว้ก่อนยืนยันสิ่งใด
ข้อจำกัด
โค้ดจะถูกอ่านและตรวจสอบในเบราว์เซอร์ของคุณ: รูปภาพจะไม่ถูกอัปโหลด หากโค้ดมีหมายเลขโทรศัพท์ จะมีเพียงหมายเลขเหล่านั้นที่ถูกค้นหาบนเซิร์ฟเวอร์ของ NoCall เพื่อดูประเภท และจะไม่ถูกบันทึกไว้
เราไม่เปิดลิงก์: เราแค่ตรวจสอบเท่านั้น
การแก้ไขปัญหา
เราไม่พบ QR โค้ดในรูปภาพ ลองถ่ายให้ใกล้ขึ้น ภาพคมชัด และไม่มีแสงสะท้อน
เปิดรูปภาพไม่ได้ ลองใช้รูปแบบ JPG หรือ PNG
เนื้อหาของโค้ดยาวเกินกว่าจะตรวจสอบได้
ใช้งานผ่าน API
ต้องมีคีย์ API และเครดิต การเรียกที่สำเร็จแต่ละครั้งใช้ 1 เครดิต แม้ไม่มีข้อมูลก็ตาม บัญชี Pro ที่ใช้งานอยู่มี 20 เครดิตต่อเดือนปฏิทินตามเวลา UTC ใช้ร่วมกันทุกเส้นทาง API และถูกใช้ก่อน เครดิตรายเดือนที่ไม่ได้ใช้จะไม่ทบไปเดือนถัดไป เครดิตที่ซื้อในหน้าบัญชีของคุณใช้ได้โดยไม่ต้องมี Pro และไม่มีวันหมดอายุ
ข้อผิดพลาดไม่ถูกคิดเครดิต: 401 invalid_api_key (ไม่มีคีย์หรือคีย์ไม่ถูกต้อง), 403 pro_required (ไม่มีเครดิต Pro และไม่มีเครดิตที่ซื้อไว้), 422 ข้อมูลนำเข้าไม่ถูกต้อง, 429 quota_exceeded (เครดิตหมด), rate_limit_exceeded หรือ ai_busy (AI ของ sms-check ใช้งานเต็มความสามารถ), 503 tool_warming (ข้อมูลยังเตรียมไม่เสร็จ) หรือ tool หรือผู้ให้บริการไม่พร้อมใช้งาน หลังได้รับ 429 หรือ 503 ให้ลองใหม่เมื่อครบจำนวนวินาทีในเฮดเดอร์ Retry-After
สิ่งที่ QR โค้ดที่ถอดรหัสแล้วทำจริง ๆ: เปิดลิงก์ (ตรวจด้วยกฎของประเทศ) โทรหรือส่ง SMS ไปยังหมายเลข เขียนอีเมล เชื่อมต่อ Wi-Fi บันทึกรายชื่อติดต่อ หรือขอให้ชำระเงิน (SEPA, ใบแจ้งหนี้ QR ของสวิตเซอร์แลนด์, UPI, Pix และโค้ด EMVCo อื่น ๆ พร้อมตรวจ IBAN และ checksum) หรือขอคริปโต ไม่มีการเปิดลิงก์เด็ดขาด
ส่ง JSON body ไปยังเส้นทางของ tool นั้นโดยตรง หรือไปยัง POST /v2/tools โดยเพิ่มฟิลด์ tool ทั้งสองเส้นทางให้ผลลัพธ์เหมือนกัน
POST https://api.nocall.io/v2/qr-check
POST https://api.nocall.io/v2/tools {"tool":"qr-check","payload":"BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471","country":"ES"}พารามิเตอร์
| ชื่อ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| payload | string (1–4296) | ใช่ | ข้อความที่ถอดรหัสแล้วของ QR โค้ด ไม่เกิน 4296 ตัวอักษร ถอดรหัสรูปภาพในฝั่งของคุณเอง |
| country | string (enum, 55) | ไม่ (ค่าเริ่มต้น: "ES") | ประเทศของชุดกฎ SMS ที่ใช้ |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/qr-check' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"payload":"BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471","country":"ES"}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/qr-check',
method='POST',
data=json.dumps({'payload': 'BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471', 'country': 'ES'}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/qr-check', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ payload: 'BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471', country: 'ES' }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);ตัวอย่างการตอบกลับ (200)
นี่คือตัวอย่างที่ระบุไว้ในเอกสารอ้างอิง API การค้นหาใช้หมายเลขสมมติ ส่วนข้อมูลรวมและคำตอบจาก AI แสดงเพียงโครงสร้างของผลลัพธ์ ไม่ใช่ข้อมูลจริง
{
"data": {
"tool": "qr-check",
"result": {
"payload": {
"type": "payment",
"scheme": "epc",
"payee": "Aparcamientos Ejemplo SL",
"account": "ES9121000418450200051332",
"accountValid": true,
"amount": "49.90",
"currency": "EUR",
"reference": "Multa de aparcamiento 4471",
"country": "ES",
"city": null,
"crcValid": null
},
"signals": [
"payment_request",
"amount_prefilled"
],
"attention": true,
"hosts": [],
"linkFlags": [],
"link": null,
"numbers": []
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}ฟิลด์ผลลัพธ์ (data.result)
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
| payload | object | สิ่งที่โค้ดทำ: ประเภท (url, phone, sms, email, wifi, contact, event, geo, payment, crypto, other_link หรือ text) และฟิลด์ของประเภทนั้น ไม่มีการส่งกลับรหัสผ่าน Wi-Fi เด็ดขาด |
| signals | array<string (enum, 26)> | สัญญาณของโค้ดเอง (payment_request, crypto_request, open_wifi, call_forwarding, premium_number…) รวมกับสัญญาณจากกฎของลิงก์และข้อความ |
| attention | boolean | เนื้อหาควรได้รับการตรวจดูอย่างละเอียดหรือไม่ |
| hosts | array<string> | ชื่อโฮสต์ที่พบในข้อความ |
| linkFlags | array<"http" | "userinfo" | "internationalHost" | "ipAddress" | "nonStandardPort"> | คำเตือนด้านโครงสร้างของลิงก์: http, userinfo, โฮสต์แบบนานาชาติ, ที่อยู่ IP หรือพอร์ตที่ไม่ใช่มาตรฐาน |
| link | object | null | ลิงก์ที่ตรวจแล้วของโค้ดประเภท url (โฮสต์ โฮสต์ในรูปแบบ ASCII เป็นโดเมนทางการหรือไม่ แบรนด์ และพอร์ต) หรือ null |
| numbers | array<object> | หมายเลขที่โค้ดโทรไป ส่ง SMS ไป แสดงรายการไว้ หรือโอนสายไป พร้อมหมวดหมู่และความเสี่ยงตาม premium-rate |
คำถามที่พบบ่อย
Quishing คืออะไร
คือฟิชชิงด้วย QR โค้ด: มิจฉาชีพแปะโค้ดปลอมทับโค้ดจริงบนเครื่องจ่ายค่าจอดรถหรือเครื่องชาร์จ หรือส่งมาในจดหมายหรืออีเมล เพื่อพาคุณไปยังเว็บไซต์ที่ขโมยข้อมูลของคุณ หรือไปยังการชำระเงินที่คุณไม่ควรจ่าย
ฉันรับเงินด้วยการสแกน QR โค้ดได้ไหม
ไม่ได้ โค้ดชำระเงิน (การโอนเงินผ่านธนาคาร UPI, Pix หรืออื่น ๆ) คือการจ่ายเงินเสมอ หากมีคนขอให้คุณสแกนโค้ดเพื่อ “รับ” เงินคืนหรือรางวัล นั่นคือการหลอกลวง
แค่สแกนโค้ดก็อันตรายหรือไม่
การสแกนเป็นเพียงการอ่านข้อความ: อันตรายจะเกิดขึ้นเมื่อคุณเปิดลิงก์ เชื่อมต่อ Wi-Fi หรือยืนยันการชำระเงิน จึงควรตรวจสอบก่อน ที่นี่หรือโดยอ่านที่อยู่ที่กล้องแสดงก่อนแตะ
