การเปลี่ยนแปลงที่มีต่อการประเมินกฎของ Radar แบบกำหนดเอง

Stripe วางแผนว่าจะปรับปรุงกฏของ Radar ในสิ้นเดือนพฤษภาคม 2024 นี้ เพื่อให้เข้าใจและจัดการลักษณะการทำงานได้ง่ายขึ้นในกรณีที่ค่าต่างๆ ในแอตทริบิวต์ตกหล่น

ในปัจจุบัน หากคุณเขียนกฎอย่างเช่น บล็อกถ้า :email_domain: != 'notfraud.com' และค่า :email_domain: ตกหล่นไป ระบบก็จะไม่พบผลลัพธ์ที่ตรงกับกฎนี้ เนื่องจาก Stripe ตีความว่า != 'notfraud.com' คือแอตทริบิวต์ที่มีค่านอกเหนือจาก 'notfraud.com' อย่างชัดแจ้ง ซึ่งแอตทริบิวต์ที่ตกหล่นจะไม่สามารถเติมเต็มเงื่อนไขของกฎนี้ได้ ในทางกลับกัน หากคุณเขียนกฎที่คล้ายกันอย่างเช่น บล็อกถ้า NOT (:email_domain: = 'notfraud.com') และค่า :email_domain: ตกหล่นไป ระบบก็จะพบผลลัพธ์ที่ตรงกับกฎนี้ เนื่องจากค่าในวงเล็บอย่าง :email_domain: = 'notfraud.com' จะถูกประเมินว่าเป็นเท็จ ซึ่งเมื่อมารวมกับการดำเนินการ NOT ก็จะทำให้กลายเป็นจริง

อย่างไรก็ตามในตัวตีความแบบใหม่ กฎทั้งสองจะให้ผลลัพธ์ว่าไม่มีรายการใดตรงกับกฎดังกล่าว นั่นก็เพราะว่าการเปรียบเทียบใดๆ (เช่น =, !=, >, <, IN) ระหว่างแอตทริบิวต์ที่ตกหล่นกับค่าหรือแอตทริบิวต์อื่นซึ่งคงที่ (ที่ตกหล่นหรือปรากฏอยู่) จะไม่นำข้อมูลซึ่งตกหล่นไปนั้นมาพิจารณาด้วย ในทำนองเดียวกัน การดำเนินการทางตรรกะ (เช่น AND, OR, NOT) ที่มีค่าซึ่งตกหล่นไปจะให้ผลลัพธ์ตามที่แอตทริบิวต์ตกหล่นไป เว้นแต่จะมีการระบุไว้อย่างชัดแจ้ง กฎใดๆ ที่ไม่นำค่าที่ตกหล่นไปมาพิจารณาตลอดการประเมินจะได้มีผลลัพธ์ที่ตรงกับกฎ

คุณสามารถระบุหากฎที่จะได้รับผลกระทบจากการเปลี่ยนแปลงนี้ได้โดยตรวจสอบภาคแสดงที่ใช้นิเสธ NOT ที่มีแอตทริบิวต์ที่ซ้อนทับกันซึ่งอาจตกหล่นไป หากคุณต้องการให้ลักษณะการทำงานเพื่อหาผลลัพธ์ที่ตรงกันของบล็อกถ้า NOT(:email_domain: = 'notfraud.com') ยังคงเป็นเหมือนเดิม คุณต้องทำการเปลี่ยนแปลงภาคแสดงของกฎอย่างชัดแจ้งให้จัดการกับค่าที่ตกหล่นไป ดังนี้ บล็อกถ้า is_missing(:email_domain:)OR NOT(:email_domain: = 'notfraud.com') มิฉะนั้น กฎของคุณจะปรับใช้ลักษณะการทำงานที่อัปเดตใหม่โดยอัตโนมัติเมื่อ Stripe เริ่มทยอยบังคับใช้การเปลี่ยนแปลงในเดือนพฤษภาคม 2024

คำตอบนี้ช่วยตอบข้อสงสัยของคุณหรือไม่
เราใช้คุกกี้เพื่อปรับปรุงประสบการณ์การใช้งานของคุณและเพื่อทำการตลาด ดูนโยบายคุกกี้ของเราหรือจัดการคุกกี้