- คำขอ 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 |
สถานะปัจจุบันของไคลเอ็นต์สำหรับรายการที่ขอ (สถานะไคลเอ็นต์ที่เข้ารหัสซึ่งได้รับจากการอัปเดตรายการที่สำเร็จครั้งล่าสุด) สตริงที่เข้ารหัสแบบ Base64 |
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 |
สถานะไคลเอ็นต์ใหม่ในรูปแบบที่เข้ารหัส ไม่ชัดเจนสำหรับลูกค้า สตริงที่เข้ารหัสแบบ Base64 |
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 แฮชจะเข้ารหัส base64 สตริงที่เข้ารหัสแบบ Base64 |
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 หาก |
numEntries |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มค่าเดียว จำนวนนี้จะเป็น 0 และจะเก็บค่าเดี่ยวไว้ใน |
encodedData |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice สตริงที่เข้ารหัสแบบ Base64 |
ตรวจสอบข้อผิดพลาด
สถานะที่คาดไว้ของฐานข้อมูลภายในของไคลเอ็นต์
การแสดง JSON | |
---|---|
{ "sha256": string } |
ช่อง | |
---|---|
sha256 |
แฮช SHA256 ของสถานะไคลเอ็นต์ ซึ่งก็คือรายการแฮชทั้งหมดที่จัดเรียงแล้วที่อยู่ในฐานข้อมูล สตริงที่เข้ารหัสแบบ Base64 |