11.4. Zend_Filter_Input

11.4.1. µµÀÔ

Zend_Filter_Input (Àº)´Â, ÀÔ·Â ÇÊÅ͸µÀ» ÇàÇϱâ À§ÇÑ ±¸Á¶È­ µÈ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ´Ù¾çÇÑ ¸ñÀûÀ» À§Çؼ­ »ç¿ë °¡´ÉÇÕ´Ï´Ù.¿Ö³ÄÇϸé, À̰ÍÀº ÀÌÇÏÀÇ 3Á¾·ù°¡ ´Ù¸¥ ±×·ì¿¡ À־ÀÇ ¿ä±¸¸¦ ä¿ì´Â °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù.

  • °³¹ßÀÚ

    ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â °Í¿¡ ºñ±³Çϸé, ÀÔ·ÂÀÇ ÇÊÅ͸µÀÌ °£´ÜÇÑ °ÍÀÏ ¸®°¡ ¾ø½À´Ï´Ù. ±×·¯³ª °³¹ßÀڷμ­´Â, Äڵ带 ºÒÇÊ¿äÇÏ°Ô º¹ÀâÇÏ°Ô ÇÏ´Â °Í ¾øÀÌ µ¥ÀÌÅÍÀÇ ¿ÏÀü¼ºÀ» º¸ÁõÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

  • °ü¸®ÀÚ

    ´ë±Ô¸ð °³¹ßÀÚ ±×·ìÀ» °ü¸®ÇØ¾ß ÇÏ´Â °ü¸®ÀÚ´Â, Zend_Filter_Input (À»)¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î½á, »ýÀÇ ÀÔ·Â µ¥ÀÌÅÍ¿¡ÀÇ ¾×¼¼½º¸¦ Á¦ÇÑ/ ¹èÁ¦Çϰí, ÀÔ·Â ÇÊÅ͸µÀ» À§ÇÑ ±¸Á¶È­ µÈ ¾îÇÁ·ÎÄ¡¸¦ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • °¨»çÀÚ

    ¾îÇø®ÄÉÀ̼ÇÀÇ Äڵ带 °¨»çÇÒ ¶§ , °³¹ßÀÚ°¡ »ýÀÇ ÀÔ·Â µ¥ÀÌÅ͸¦ ±×´ë·Î »ç¿ëÇϰí ÀÖÁö ¾Ê´ÂÁö ¾î¶²Áö¸¦, Àçºü¸£°Ô È®½ÇÈ÷ Á¶»çÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¾Ë±â ½¬¿î Äڵ带 ¾µ ¼ö ÀÖ°Ô µÈ´Ù°í ÇÑ´Ù Zend_Filter_Input ÀÇ Æ¯¼º¿¡ ÀÇÇØ, ¸¸¾à Åë»ó°ú´Â ´Ù¸¥ ¾îÇÁ·ÎÄ¡¸¦ ÃëÇϰí ÀÖÀ¸¸é, °¨»çÀÚ´Â °ð¹Ù·Î ±×°ÍÀ» ½Äº°ÇÒ ¼ö ÀÖ°Ô µÇ°ÚÁö¿ä.

ÀÔ·ÂÀÇ ÇÊÅ͸µ¿¡´Â ´Ù¾çÇÑ ¼ö¹ýÀÌ ÀÖ¾î, PHP °³¹ßÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ±â´É¿¡µµ ´Ù¾çÇÑ °ÍÀÌ ÀÖ½À´Ï´Ù. È­ÀÌÆ® ¸®½ºÆ® ÇÊÅ͸µ, ºí·¢ ¸®½ºÆ® ÇÊÅ͸µ, Á¤±Ô Ç¥Çö, Á¶°Ç¹®, Åë»óÀÇ PHP ÇÔ¼ö,¡¦À̰͵éÀº, ¿©·¯ °¡Áö ÀÖÀ» ¶§ÀÇ ¾ÆÁÖ ÀϺο¡ Áö³ªÁö ¾Ê½À´Ï´Ù.

11.4.2. µ¿ÀÛÀÇ ¿ø¸®

ÀÔ·Â ÇÊÅ͸µ¿¡ ´ëÇÑ ±¸Á¶È­ µÈ ¼ö´ÜÀ» Á¦°øÇϱâ À§Çؼ­, µðÆúÆ®¿¡¼­´Â,Zend_Filter_Input ÀÔ·Â µ¥ÀÌÅÍ¿¡ÀÇ ¾×¼¼½º¸¦ Á¦¾îÇÏ·Á°í ÇÕ´Ï´Ù.À̰ÍÀº, ¿ø·¡ÀÇ µ¥ÀÌÅÍ ¹è¿­¿¡ÀÇ ÂüÁ¶¸¦ null (À¸)·Î ¼³Á¤ÇÏ´Â °ÍÀ¸·Î ½Ç½ÃÇÕ´Ï´Ù.

µðÆúÆ®ÀÇ ( ¾ö°ÝÇÑ) ¹æ¹ýÀº, ÇϳªÀÇ Àμö¸¦ constructor¡¡ ¡¡ ¿¡ °Ç³×ÁÝ´Ï´Ù.ÀÌ Àμö´Â, ÇÊÅ͸µ ÇÏ´Â µ¥ÀÌÅÍÀÇ ¹è¿­ÀÔ´Ï´Ù.ÇÊÅ͸µ µÇ¾î ÀÖÁö ¾ÊÀº µ¥ÀÌÅÍ¿¡´Â getRaw() ¸Þ¼Òµå·Î ¹Û¿¡ ¾×¼¼½º ÇÒ ¼ö ¾ø½À´Ï´Ù.


<?php
// $_POST['email'] === 'webmaster@example.com'

// $_POST  µ¥ÀÌÅÍÀÇ ¹è¿­À» ÇÊÅ͸µ ÇÕ´Ï´Ù
require_once 'Zend/Filter/Input.php';
$filterPost = new Zend_Filter_Input($_POST);

//  À̰ÍÀ¸·Î,$_POST  ÇÏ null  µË´Ï´Ù
echo null === $_POST 'yes' 'no'// 'yes'  (ÀÌ)¶ó°í Ç¥½ÃµË´Ï´Ù

//  »ýÀÇ ¸ÞÀÏ ÁÖ¼Ò¸¦ ÃëµæÇÕ´Ï´Ù
echo $filterPost->getRaw('email'); // 'webmaster@example.com'  (ÀÌ)¶ó°í Ç¥½ÃµË´Ï´Ù

Zend_Filter_Input (Àº)´Â, °Ç³×¹ÞÀº ¹è¿­ ($_POST) ÀÇ ³»¿ëÀ» null (À¸)·Î ¼³Á¤ÇÕ´Ï´Ù.Áï, Á÷Á¢ ¾×¼¼½º ÇÒ ¼ö ¾ø°Ô µË´Ï´Ù ( »ýÀÇ µ¥ÀÌÅÍ¿¡ ¾×¼¼½º ÇÏ·Á¸é getRaw() ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸Þ¼ÒµåÀÇ »ç¿ë »óȲÀ» üũÇϰųª »ç¿ëÀ» ÇÇÇϰųª ÇÏ´Â °ÍÀÌ °£´ÜÇÏ°Ô µË´Ï´Ù) .

¿É¼ÇÀÇ ( ¾ö°ÝÇÏÁö ¾Ê´Ù) ¹æ¹ýÀº, constructor¡¡ ¡¡ ÀÇ µÎ¹øÂ°ÀÇ Àμö¿¡ false (À»)¸¦ °Ç³×ÁÝ´Ï´Ù.


<?php
// $_POST['email'] === 'webmaster@example.com'

// $_POST  µ¥ÀÌÅÍÀÇ ¹è¿­À» ÇÊÅ͸µ ÇÕ´Ï´Ù
require_once 'Zend/Filter/Input.php';
$filterPost = new Zend_Filter_Input($_POSTfalse);

// $_POST  ÇÏ null  ¿¡´Â µÇÁö ¾Ê½À´Ï´Ù
echo null === $_POST 'yes' 'no'// 'no'  (ÀÌ)¶ó°í Ç¥½ÃµË´Ï´Ù

//  »ýÀÇ ¸ÞÀÏ ÁÖ¼Ò¸¦ ÃëµæÇÕ´Ï´Ù
echo $filterPost->getRaw('email'); // 'webmaster@example.com'  (ÀÌ)¶ó°í Ç¥½ÃµË´Ï´Ù

ÇÊÅÍÀÇ »ç¿ë¹ýÀº ¿ÏÀüÈ÷ °°½À´Ï´Ù¸¸,Zend_Filter_Input (Àº)´Â ¿ø·¡ÀÇ ¹è¿­ ($_POST) ÀÇ ³»¿ëÀ» null (À¸)·Î ¼³Á¤ÇÏÁö ¾Ê½À´Ï´Ù.Áï, ±× Èĵµ Á÷Á¢ °Å±â¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ÀÌ ¹æ½ÄÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù.¾ö°ÝÇÑ ¹æ½ÄÀ» »ç¿ëÇϵµ·Ï ÇսôÙ.

Zend_Filter_Input (Àº)´Â, ¹è¿­À» ¿°µÎ¿¡ µÎ¾î ¼³°èµÇ°í ÀÖ½À´Ï´Ù. ÀÔ·ÂÀÇ »ó´ç¼ö´Â PHP ÀÇ ½´ÆÛ ±Û·Î¹ú ¹è¿­ ($_GET , $_POST ,$_COOKIE µî) ±×¸®°í ¸Á¶óµÇ°í ÀÖ¾î ´ëºÎºÐÀÇ ÀÔ·ÂÀÇ º¸Á¸ Çü½ÄÀº ¹è¿­ ±¸Á¶°¡ µÇ°í ÀÖ½À´Ï´Ù. ½ºÄ®¶ó¿¡ ´ëÇÑ ÇÊÅ͸µÀ» ÇÏ°í ½ÍÀº °æ¿ì´Â Àå11. Zend_Filter (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.