File indexing completed on 2024-05-05 05:40:32
0001 #include "network/ipbanaccepter.h" 0002 #include <QDebug> 0003 #include <QHostAddress> 0004 0005 IpBanAccepter::IpBanAccepter() {} 0006 0007 bool IpBanAccepter::isValid(const QMap<QString, QVariant>& data) const 0008 { 0009 QStringList bannedIp= data["IpBan"].toStringList(); 0010 QString currentIp= data["currentIp"].toString(); 0011 0012 QString currentIpV4; 0013 QString currentIpV6; 0014 if(currentIp.count(':') == 8) 0015 { 0016 currentIpV6= currentIp.left(currentIp.lastIndexOf(':')); 0017 currentIpV4= currentIp.mid(currentIp.lastIndexOf(':') + 1); 0018 } 0019 0020 // Cut current ip 0021 bool result 0022 = ((!bannedIp.contains(currentIp)) && (!bannedIp.contains(currentIpV4)) && (!bannedIp.contains(currentIpV6))); 0023 0024 // qInfo() << " Ip Ban:" << result << "current IP: " << currentIp; 0025 return result; 0026 }