示例#1
0
文件: Generic.php 项目: knatorski/SMS
 public function isValid($data)
 {
     $isValid = parent::isValid($data);
     $ipValidator = new Logic_Validate_Ip();
     $ips = explode(PHP_EOL, $data['ip']);
     foreach ($ips as $ip) {
         list($ip_address, $mask) = explode('/', $ip);
         $ipValidator->setRange($ip);
         if (false === $ipValidator->isValid(trim($ip_address))) {
             $this->getElement('ip')->addError("{$ip} nie jest poprawnym adresem IP");
             $isValid = false;
         }
     }
     return $isValid;
 }
示例#2
0
文件: Client.php 项目: knatorski/SMS
 public function addip($params)
 {
     $validator = new Logic_Validate_Ip();
     $ips = array();
     foreach ($params as $param) {
         if ($param['name'] == 'ip') {
             $ips = explode(PHP_EOL, $param['value']);
             foreach ($ips as $key => $ip) {
                 list($ip_address, $mask) = explode('/', $ip);
                 $validator->setRange($ip);
                 if (false === $validator->isValid(trim($ip_address))) {
                     unset($ips[$key]);
                 }
             }
         }
         $data[$param['name']] = $param['value'];
     }
     if (!empty($ips)) {
         $model = new WsSaveIP();
         $model->addIP($ips, $data['ip_comment']);
     } else {
         throw new Logic_Ws_Exception('Niepoprawny format adresu IP');
     }
 }
示例#3
0
文件: Sender.php 项目: knatorski/SMS
 /**
  * czy ip należy on do zadanej podsieci w kolumnie 'ip'::cidr[]
  * 
  * @param string $ip
  * @param integer $client_id
  * @return boolean
  */
 private function _checkIp()
 {
     $client = Logic_Client::getInstance();
     //do not check IP if client shipping type is HTTP
     if ($client->getClient()->shipping_type === Logic_Ws_ServiceSet_ServiceSet::SHIPPING_TYPE_HTTP) {
         return true;
     }
     $wsIpRowset = $client->getIpList();
     $valid = new Logic_Validate_Ip();
     foreach ($wsIpRowset as $rowIpList) {
         foreach ($rowIpList->ip as $ipRow) {
             $valid->setRange($ipRow);
             if ($valid->isValid($this->_clientIpAddress)) {
                 return true;
             }
         }
     }
     $this->addCheckerError('IP Address ' . $this->_clientIpAddress . ' is not ' . 'allowed.', __METHOD__);
     return false;
 }