कुछ की तरहआईपी + सीआईडीआर के साथ आईपी से सीधे चयन क्वेरी से मिलान करने का कोई तरीका है?
SELECT COUNT(*) AS c FROM BANS WHERE typeid=6 AND (SELECT ipaddr,cidr FROM BANS) MATCH AGAINST 'this_ip';
तो तुम पहले डीबी से सभी रिकॉर्ड लाने नहीं है और फिर उन्हें एक एक से मेल खाते हैं।
यदि सी> 0 मिलान किया गया था।
प्रतिबंध तालिका:
id int auto incr PK
typeid TINYINT (1=hostname, 4=ipv4, 6=ipv6)
ipaddr BINARY(128)
cidr INT
host VARCHAR(255)
डीबी: MySQL 5
आईपी और आइपीवी प्रकार (4 या 6) जब क्वेरी करने में जाना जाता है।
आईपी द्विपदीय प्रारूप में उदाहरण :: 1 के लिए है
प्रतिबंध लगा दिया आईपी उदाहरण :: 1/64
raspi, मुझे पता है इस सवाल पुराना है, लेकिन ... शुद्ध नकाब में एक बिट की संख्या है, यह हमेशा है, तो IPv6 के लिए 64 अपने CIDR स्तंभ है और आईपीवी 4 के लिए यह 0 के बीच एक संख्या है और 32? हालांकि मुझे लगता है कि 0 सभी पते पर प्रतिबंध लगाएगा ... :) – ErikE