27.5. È£½ºÆ®¸íÀÇ °ËÁõ

Zend_Validate_Hostname (Àº)´Â, È£½ºÆ®¸íÀÌ »ç¾çÀ» ä¿ö ÀÖ´ÂÁö ¾î¶²ÁöÀÇ °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù. 3Á¾·ùÀÇ Çü½ÄÀÇ È£½ºÆ®¸í, ÁïDNS È£½ºÆ®¸í ( ¿¹¸¦ µé¾î domain.com) ,IP ÁÖ¼Ò ( ¿¹¸¦ µé¾î 1.2.3.4) ±×¸®°í ·ÎÄà ȣ½ºÆ®¸í ( ¿¹¸¦ µé¾î localhost) ÀÇ °ËÁõÀÌ °¡´ÉÇÕ´Ï´Ù. µðÆúÆ®¿¡¼­´Â DNS È£½ºÆ®¸í¸¸ÀÌ À¯È¿°¡ µË´Ï´Ù.

±âº»ÀûÀÎ »ç¿ë¹ý

±âº»ÀûÀÎ »ç¿ë¹ýÀº, ÀÌÇÏ¿Í °°ÀÌ µË´Ï´Ù.


<?php
require_once 'Zend/Validate/Hostname.php';
$validator = new Zend_Validate_Hostname();
if (
$validator->isValid($hostname)) {
    
//  È£½ºÆ®¸íÀº ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
    
//  ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
    
foreach ($validator->getMessages() as $message) {
        echo 
"$messagen";
    }
}

À̰ÍÀº, È£½ºÆ®¸í $hostname (À»)¸¦ °ËÁõÇØ, ½ÇÆÐÇßÀ» °æ¿ì´Â ±× ¿øÀÎÀ» ³ªÅ¸³»´Â Æí¸®ÇÑ ¿¡·¯ ¸Þ¼¼Áö¸¦ $validator->getMessages() ±×¸®°í ÃëµæÇÕ´Ï´Ù.

´Ù¾çÇÑ Çü½ÄÀÇ È£½ºÆ®¸íÀÇ °ËÁõ

IP ÁÖ¼Ò³ª ·ÎÄà ȣ½ºÆ®¸í, ȤÀº ±× ¾çÂÊ ¸ðµÎ¸¦ ¿Ã¹Ù¸¥ È£½ºÆ®¸íÀ¸·Î¼­ ÀÎÁ¤ÇÏ°í ½ÍÀº °Íµµ ÀÖ°ÚÁö¿ä. ±× °æ¿ì´Â,Zend_Validate_Hostname ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¶§¿¡ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×ÁÝ´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ¿¡´Â, ¾î´À Çü½ÄÀÇ È£½ºÆ®¸íÀ» Çã°¡ÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â Á¤¼öÄ¡¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. °¡´ÉÇÑ ÇÑ,Zend_Validate_Hostname ÀÇ Á¤¼ö¸¦ »ç¿ëÇϵµ·Ï ÇսôÙ.

Zend_Validate_Hostname ÀÇ Á¤¼ö´Â ´ÙÀ½°ú °°½À´Ï´Ù.ALLOW_DNS ÇÏ DNS È£½ºÆ®¸í¸¸À» Çã°¡ÇØ, ALLOW_IP ÇÏ IP ÁÖ¼Ò¸¦ Çã°¡ÇÕ´Ï´Ù.¶Ç ALLOW_LOCAL (Àº)´Â ·ÎÄà ³×Æ®¿öÅ©¸íÀ» Çã°¡ÇØ,ALLOW_ALL (Àº)´Â À̰͵é 3Á¾·ù¸¦ ¸ðµÎ Çã°¡ÇÕ´Ï´Ù. IP ÁÖ¼Ò¸¸À» üũÇÏ·Á¸é , ÀÌÇÏÀÇ ¿¹ÀÇ °°°Ô ÇÕ´Ï´Ù.


<?php
require_once 'Zend/Validate/Hostname.php';
$validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP);
if (
$validator->isValid($hostname)) {
    
//  È£½ºÆ®¸íÀº ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
    
//  ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
    
foreach ($validator->getMessages() as $message) {
        echo 
"$messagen";
    }
}

ALLOW_ALL (À»)¸¦ »ç¿ëÇØ ¸ðµç Çü½ÄÀ» Çã°¡ÇÏ´Â °Í ¿Ü¿¡, ÀÌ·¯ÇÑ Çü½ÄÀ» Á¶ÇÕÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î,DNS ¹× ·ÎÄà ȣ½ºÆ®¸íÀ» Çã°¡ÇÏ·Á¸é , Zend_Validate_Hostname ÀÇ ÀνºÅϽº¸¦ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.


<?php
$validator 
= new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS Zend_Validate_Hostname::ALLOW_IP);
}