- คำขอ HTTP
- เนื้อความของคำขอ
- เนื้อหาการตอบกลับ
- ListUpdateRequest
- ข้อจำกัด
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- การตรวจสอบข้อผิดพลาด
ดึงข้อมูลการอัปเดตรายการภัยคุกคามล่าสุด ลูกค้าขออัปเดตหลายรายการพร้อมกันได้
คำขอ HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
URL ใช้ไวยากรณ์การแปลง gRPC
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างต่อไปนี้
การแสดง JSON |
---|
{ "client": { object ( |
ช่อง | |
---|---|
client |
ข้อมูลเมตาของไคลเอ็นต์ |
listUpdateRequests[] |
ระบบจะอัปเดตรายการภัยคุกคามที่ขอ |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{
"listUpdateResponses": [
{
object ( |
ช่อง | |
---|---|
listUpdateResponses[] |
การอัปเดตรายการที่ลูกค้าขอ จํานวนคําตอบที่นี่อาจน้อยกว่าจํานวนคําขอที่ลูกค้าส่ง ตัวอย่างเช่น หากเซิร์ฟเวอร์ไม่มีการอัปเดตสำหรับรายการที่ต้องการ |
minimumWaitDuration |
ระยะเวลาขั้นต่ำที่ลูกค้าต้องรอก่อนที่จะส่งคำขออัปเดต หากไม่ได้ตั้งค่าช่องนี้ ลูกค้าจะอัปเดตได้ทันทีที่ต้องการ ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
ListUpdateRequest
คำขออัปเดตรายการเดียว
การแสดง JSON |
---|
{ "threatType": enum ( |
ช่อง | |
---|---|
threatType |
ประเภทของภัยคุกคามที่เกิดจากรายการที่แสดงอยู่ในรายการ |
platformType |
ประเภทของแพลตฟอร์มที่มีความเสี่ยงตามรายการที่แสดงในรายการ |
threatEntryType |
ประเภทของข้อมูลที่อยู่ในรายการ |
state |
สถานะปัจจุบันของไคลเอ็นต์สำหรับรายการที่ขอ (สถานะไคลเอ็นต์ที่เข้ารหัสซึ่งได้รับจากการอัปเดตรายการที่สำเร็จครั้งล่าสุด) สตริงที่เข้ารหัสฐาน 64 |
constraints |
ข้อจำกัดที่เชื่อมโยงกับคำขอนี้ |
ข้อจำกัด
ข้อจำกัดสำหรับการอัปเดตนี้
การแสดง JSON |
---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
ช่อง | |
---|---|
maxUpdateEntries |
จำนวนรายการสูงสุด การอัปเดตจะไม่มีรายการมากกว่าค่านี้ ค่านี้ควรเป็นเลขยกกำลัง 2 ระหว่าง 2**10 ถึง 2**20 หากเป็น 0 แสดงว่าไม่มีการกำหนดขนาดการอัปเดตสูงสุดไว้ |
maxDatabaseEntries |
ตั้งค่าจำนวนรายการสูงสุดที่ไคลเอ็นต์ต้องการให้มีในฐานข้อมูลของเครื่องสำหรับรายการที่ระบุ ค่านี้ควรเป็นเลขยกกำลัง 2 ระหว่าง 2**10 ถึง 2**20 หากเป็น 0 ระบบจะไม่ตั้งค่าขีดจำกัดของขนาดฐานข้อมูล |
region |
ขอรายการสำหรับตำแหน่งทางภูมิศาสตร์ที่เฉพาะเจาะจง หากไม่ได้ตั้งค่า เซิร์ฟเวอร์อาจเลือกค่าดังกล่าวตามที่อยู่ IP ของผู้ใช้ คาดหวังรูปแบบ ISO 3166-1 alpha-2 |
supportedCompressions[] |
ประเภทการบีบอัดที่ไคลเอ็นต์รองรับ |
language |
ขอรายการสำหรับภาษาที่เฉพาะเจาะจง คาดหวังรูปแบบ ISO 639 alpha-2 |
deviceLocation |
สถานที่ตั้งทางกายภาพของลูกค้า ซึ่งแสดงเป็นรหัสภูมิภาค ISO 31166-1 alpha-2 |
CompressionType
วิธีบีบอัดชุดรายการภัยคุกคาม
Enum | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
ไม่รู้จัก |
RAW |
ข้อมูลดิบที่ไม่มีการบีบอัด |
RICE |
ข้อมูลที่เข้ารหัส Rice-Golomb |
ListUpdateResponse
การอัปเดตทีละรายการ
การแสดง JSON |
---|
{ "threatType": enum ( |
ช่อง | |
---|---|
threatType |
ประเภทของภัยคุกคามที่ส่งคืนข้อมูล |
threatEntryType |
รูปแบบของภัยคุกคาม |
platformType |
ประเภทแพลตฟอร์มที่ส่งคืนข้อมูล |
responseType |
ประเภทของคำตอบ ซึ่งอาจบ่งชี้ว่าลูกค้าต้องทำการดำเนินการเมื่อได้รับการตอบกลับ |
additions[] |
ชุดรายการที่จะเพิ่มลงในรายการประเภทภัยคุกคามในท้องถิ่น ทำซ้ำเพื่อให้ส่งชุดค่าผสมของข้อมูลและข้อมูลดิบในการตอบสนองเดียว |
removals[] |
ชุดของรายการที่จะนำออกจากรายการของประเภทภัยคุกคามในท้องถิ่น ในทางปฏิบัติ ช่องนี้จะว่างเปล่าหรือมี ThreatEntrySet เพียงรายการเดียว |
newClientState |
สถานะลูกค้าใหม่ในรูปแบบที่เข้ารหัส ไม่ชัดเจนสำหรับลูกค้า สตริงที่เข้ารหัสฐาน 64 |
checksum |
แฮช SHA256 ที่คาดหวังของสถานะไคลเอ็นต์ ซึ่งก็คือรายการแฮชทั้งหมดที่จัดเรียงแล้วที่มีอยู่ในฐานข้อมูลหลังจากนำการอัปเดตที่ให้มาไปใช้ หากสถานะของไคลเอ็นต์ไม่ตรงกับสถานะที่คาดไว้ ไคลเอ็นต์จะต้องเพิกเฉยต่อการอัปเดตนี้และลองอีกครั้งในภายหลัง |
ResponseType
ประเภทการตอบกลับที่ส่งไปยังไคลเอ็นต์
Enum | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
ไม่รู้จัก |
PARTIAL_UPDATE |
การอัปเดตบางส่วนจะมีผลกับฐานข้อมูลที่มีอยู่ของลูกค้า |
FULL_UPDATE |
การอัปเดตเต็มรูปแบบจะแทนที่ฐานข้อมูลทั้งหมดในเครื่องของไคลเอ็นต์ นั่นหมายความว่าลูกค้าล้าสมัยเป็นอย่างมาก หรือเชื่อว่าลูกค้ามีความเสียหาย |
ThreatEntrySet
ชุดของภัยคุกคามที่ควรเพิ่มหรือนำออกจากฐานข้อมูลในเครื่องของลูกค้า
การแสดง JSON |
---|
{ "compressionType": enum ( |
ช่อง | |
---|---|
compressionType |
ประเภทการบีบอัดสำหรับรายการในชุดนี้ |
rawHashes |
รายการรูปแบบ SHA256 ดิบ |
rawIndices |
ดัชนีการนำออกดิบสำหรับรายการท้องถิ่น |
riceHashes |
คำนำหน้า 4 ไบต์ที่เข้ารหัสของรายการที่จัดรูปแบบ SHA256 โดยใช้การเข้ารหัส Golomb-Rice ระบบจะแปลงแฮชเป็น uint32 โดยจัดเรียงจากน้อยไปหามาก จากนั้นมีการเข้ารหัสแบบเดลต้าและจัดเก็บเป็น encryptedData |
riceIndices |
ดัชนีรายการแบบจัดเรียงด้วยพจนานุกรมในเครื่องที่เข้ารหัสโดยใช้การเข้ารหัส Golomb-Rice ใช้สำหรับส่งดัชนีการลบที่บีบอัด ดัชนีการนำออก (uint32) จะจัดเรียงตามลำดับจากน้อยไปมาก จากนั้นมีการเข้ารหัสแบบเดลต้าและจัดเก็บเป็น encryptedData |
RawHashes
รายการภัยคุกคามที่ไม่ได้บีบอัดในรูปแบบแฮชที่มีความยาวของคำนำหน้าเฉพาะเจาะจง แฮชสามารถมีขนาดได้ตั้งแต่ 4 ถึง 32 ไบต์ แฮชส่วนใหญ่มีขนาด 4 ไบต์ แต่แฮชบางรายการจะยาวขึ้นหากขัดแย้งกับแฮชของ URL ยอดนิยม
ใช้เพื่อส่ง ThreatEntrySet ไปยังไคลเอ็นต์ที่ไม่รองรับการบีบอัด หรือเมื่อส่งแฮชที่ไม่ใช่ 4 ไบต์ไปยังไคลเอ็นต์ที่รองรับการบีบอัด
การแสดง JSON |
---|
{ "prefixSize": integer, "rawHashes": string } |
ช่อง | |
---|---|
prefixSize |
จำนวนไบต์ของคำนำหน้าแต่ละรายการที่เข้ารหัสด้านล่าง ช่องนี้เป็นช่องใดก็ได้ตั้งแต่ 4 (ส่วนนำหน้าที่สั้นที่สุด) จนถึง 32 (แฮช SHA256 แบบเต็ม) |
rawHashes |
แฮชในรูปแบบไบนารีจะต่อกันเป็นสตริงแบบยาว 1 สตริง แฮชจะจัดเรียงตามลำดับพจนานุกรม สำหรับผู้ใช้ JSON API แฮชจะเข้ารหัสฐาน 64 สตริงที่เข้ารหัสฐาน 64 |
RawIndices
ชุดดัชนีดิบที่จะนำออกจากรายการในเครื่อง
การแสดง JSON |
---|
{ "indices": [ integer ] } |
ช่อง | |
---|---|
indices[] |
ดัชนีที่จะนำออกจากรายการท้องถิ่นที่จัดเรียงแบบพจนานุกรม |
RiceDeltaEncoding
ข้อมูลที่เข้ารหัส Rice-Golomb ใช้เพื่อส่งแฮช 4 ไบต์ที่บีบอัดหรือดัชนีการลบที่บีบอัด
การแสดง JSON |
---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
ช่อง | |
---|---|
firstValue |
ค่าออฟเซ็ตของรายการแรกในข้อมูลที่เข้ารหัส หรือหากมีการเข้ารหัสจำนวนเต็มค่าเดียว ก็จะใช้ค่าของจำนวนเต็มค่าเดียวนั้น หากช่องว่างเปล่าหรือขาดหายไป ระบบจะถือว่าเป็น 0 |
riceParameter |
พารามิเตอร์ Golomb-Rice ซึ่งเป็นตัวเลขระหว่าง 2 ถึง 28 หากไม่มีฟิลด์นี้ (ซึ่งก็คือ 0) หาก |
numEntries |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มค่าเดียว ค่านี้จะเป็น 0 และจะเก็บค่าเดี่ยวไว้ใน |
encodedData |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice สตริงที่เข้ารหัสฐาน 64 |
ตรวจสอบข้อผิดพลาด
สถานะที่ต้องการของฐานข้อมูลภายในของไคลเอ็นต์
การแสดง JSON |
---|
{ "sha256": string } |
ช่อง | |
---|---|
sha256 |
แฮช SHA256 ของสถานะไคลเอ็นต์ ซึ่งก็คือรายการแฮชทั้งหมดที่จัดเรียงแล้วที่มีอยู่ในฐานข้อมูล สตริงที่เข้ารหัสฐาน 64 |