Á¦14Àå Zend_Filter

¸ñÂ÷

14.1. µµÀÔ
14.1.1. ÇÊÅͶõ?
14.1.2. ÇÊÅÍÀÇ ±âº»ÀûÀÎ »ç¿ë¹ý
14.1.3. Á¤Àû ¸Þ¼Òµå get() ÀÇ »ç¿ë¹ý
14.2. Ç¥ÁØÀÇ ÇÊÅÍ Å¬·¡½º±º
14.2.1. Alnum
14.2.2. Alpha
14.2.3. BaseName
14.2.4. Digits
14.2.5. Dir
14.2.6. HtmlEntities
14.2.7. Int
14.2.8. RealPath
14.2.9. StringToLower
14.2.10. StringToUpper
14.2.11. StringTrim
14.2.12. StripTags
14.3. ÇÊÅÍ Ã¼ÀÎ
14.4. ÇÊÅÍÀÇ ¾²´Â ¹ý
14.5. Zend_Filter_Input
14.5.1. ÇÊÅÍ ·ê ¹× °ËÁõ ·êÀÇ ¼±¾ð
14.5.2. ÇÊÅÍ ¹× ValidatorÀÇ Ã³¸® ÀåÄ¡ÀÇ ÀÛ¼º
14.5.3. °ËÁõ ³¡³­ Çʵ峪 ±× ¿ÜÀÇ °á°ú Á¤º¸ÀÇ Ãëµæ
14.5.4. ¸ÞŸÄÚ¸¸µå¿¡ ÀÇÇÑ ÇÊÅÍ ·êÀ̳ª Validator ·êÀÇ Á¦¾î
14.5.5. ÇÊÅÍ Å¬·¡½º¿¡ÀÇ À̸§ °ø°£ÀÇ Ãß°¡
14.6. Zend_Filter_Inflector
14.6.1. Á¶ÀÛ
14.6.2. ±× ¿ÜÀÇ ÇÊÅÍ Àü¿ëÀÇ ÆÐ½ºÀÇ ¼³Á¤
14.6.3. ÀÎÈÄ·¹Å©Å¸ÀÇ Å¸°ÙÀÇ ¼³Á¤
14.6.4. ÀÎÇ÷¹ Äí¼ÇÀÇ ·ê
14.6.5. À¯Æ¿¸®Æ¼ ¸Þ¼Òµå
14.6.6. Zend_Filter_Inflector (À¸)·ÎÀÇ Zend_Config ÀÇ »ç¿ë¹ý

14.1. µµÀÔ

Zend_Filter ÄÄÆÛ³ÍÆ®´Â, µ¥ÀÌÅÍÀÇ ÇÊÅ͸µ¿¡ ÇÊ¿äÇÑ ÀϹÝÀûÀÎ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ½ÉÇÃÇÑ ÇÊÅÍ Ã¼ÀÎ ±â´Éµµ °¡Áö°í ÀÖ¾î ÇϳªÀÇ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ º¹¼öÀÇ ÇÊÅ͸¦ ÁöÁ¤ÇÑ ¼ø¼­¿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

14.1.1. ÇÊÅͶõ?

ÀÚ¿¬°è¿¡ À־ÀÇ ÇÊÅÍÀÇ ÀüÇüÀûÀÎ »ç¿ë¹ýÀº, ÀÔ·ÂÀ¸·ÎºÎÅÍ ºÒÇÊ¿äÇÑ ºÎºÐÀ» Á¦°ÅÇØ ÇÊ¿äÇÑ °Í¸¸À» Ãâ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù (·Ê: Ä¿ÇÇÀÇ ÇÊÅÍ). ÀÌ·¯ÇÑ °æ¿ì, ÇÊÅÍ´Â ÀÔ·ÂÀÇ ÀϺθ¦ ²¨³»±â À§ÇÑ ¿¬»êÀÚ°¡ µË´Ï´Ù. ÀÌ ÇüÅÂÀÇ ÇÊÅ͸µÀº À¥ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î À¯¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ºÎÁ¤ÇÑ ÀÔ·ÂÀ» Á¦°ÅÇϰųª ¿©ºÐÀÇ °ø¹éÀ» Á¦°ÅÇϰųª¶ó°í Çß´ø °ÍÀÌ »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ±âº»ÀûÀÎ ÇÊÅÍÀÇ Á¤ÀǸ¦ È®ÀåÇϰí, ÀԷ¿¡ ÀϹÝÀûÀÎ º¯È¯À» ´õÇϴ ó¸®µµ ÇÊÅÍ¿¡ Æ÷ÇÔÇϱâ·Î ÇսôÙ. À¥ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÀÚÁÖ ÀÖ´Â º¯È¯Àº,HTML ¿£Æ¼Æ¼ÀÇ À̽ºÄÉÀÌÇÁ ó¸®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î (À¥ ºê¶ó¿ìÀúµî¿¡¼­ÀÇ) ½Å·ÚÇÒ ¼ö ¾ø´Â ÀÔ·ÂÀ» ±âÃÊ·Î ÇØ¼­ ÆûÀÇ Çʵ忡 °ªÀ» ÀÚµ¿ÀûÀ¸·Î ¹¯´Â °æ¿ì´Â, ±× °ª¿¡´Â HTML ¿£Æ¼Æ¼°¡ Æ÷ÇԵǾ´Â ¾ÈµË´Ï´Ù.ȤÀº ¸¸¾à Æ÷ÇÔÇÑ´Ù¸é ±×°ÍÀ» À̽ºÄÉÀÌÇÁ ÇØ µÎÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ¿¹±âÄ¡ ¸øÇÑ ÇൿÀ» ÀÏÀ¸Å°´Â °ÍÀ» ¸·¾Æ, ½ÃÅ¥·¯Æ¼»óÀÇ Ãë¾à¼ºµµ ¸·½À´Ï´Ù. ÀÌ ¿ä±¸¸¦ ä¿ì·Á¸é , ÀԷ¿¡ Æ÷ÇԵȴ٠HTML ¿£Æ¼Æ¼¸¦ »èÁ¦ ȤÀº À̽ºÄÉÀÌÇÁ ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ¹°·Ð, ¾î´À ÂʽÄÀÌ ÀûÀýÇѰ¡´Â ±× ÀÚ¸®ÀÇ »óȲ¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. HTML ¿£Æ¼Æ¼¸¦ Á¦°ÅÇÏ´Â ÇÊÅÍ´Â, ÃÖÃÊ·Î Á¤ÀÇÇÑ ÇÊÅÍÀÇ »ý°¢ - ÀÔ·ÂÀÇ ÀϺθ¦ ²¨³»±â À§ÇÑ ¿¬»êÀÚ - ¿¡ ÀǰÅÇÏ´Â °ÍÀÔ´Ï´Ù. ÇÑÆí,HTML ¿£Æ¼Æ¼¸¦ À̽ºÄÉÀÌÇÁ ÇÏ´Â ÇÊÅÍ´Â, ÀÔ·ÂÀ» º¯È¯Çϴ ŸÀÔÀÇ °ÍÀÔ´Ï´Ù (¿¹¸¦ µé¾î "&" ÇÏ "&" ¿¡ º¯È¯µË´Ï´Ù). ÀÌ·¯ÇÑ ¿¹ÀÇ °°Àº 󸮴 À¥ °³¹ßÀÚ¿¡°Ô À־ Áß¿äÇÕ´Ï´Ù. Zend_Filter ±×¸®°í "ÇÊÅ͸µ ÇÑ´Ù" ±×·¸´Ù°í ÇÏ´Â °æ¿ì, ±×°ÍÀº ÀÔ·Â µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ ¾î¶°ÇÑ º¯È¯À» ½Ç½ÃÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

14.1.2. ÇÊÅÍÀÇ ±âº»ÀûÀÎ »ç¿ë¹ý

¿©±â¼­ »ý°¢ÇÑ ÇÊÅÍ¿¡ ´ëÇÑ Á¤ÀǸ¦ ±âÃÊ·Î ÇØ¼­ Zend_Filter_Interface ÇÏÁö¸¸ ÀÛ¼ºµÇ¾ú½À´Ï´Ù. À̰ÍÀº, ÇÊÅÍ Å¬·¡½º¿¡ ´ëÇØ¼­ filter() (ÀÌ)¶ó´Â À̸§ÀÇ ¸Þ¼Òµå¸¦ ½ÇÀåÇϵµ·Ï(µíÀÌ) °­Á¦ÇÏ´Â °ÍÀÔ´Ï´Ù.

ÀÌÇÏÀÇ ¿¹´Â, ampersand(&) (&) ¹× ´Ùºê¸£Å©Æ® (") ÀÇ µÎ °³ÀÇ ÀÔ·Â µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ ÇÊÅ͸¦ Àû¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.


<?php
require_once 'Zend/Filter/HtmlEntities.php';

$htmlEntities = new Zend_Filter_HtmlEntities();

echo 
$htmlEntities->filter('&'); // &amp;
echo $htmlEntities->filter('"'); // &quot;

14.1.3. Á¤Àû ¸Þ¼Òµå get() ÀÇ »ç¿ë¹ý

ÁöÁ¤ÇÑ ÇÊÅÍ Å¬·¡½º¸¦ Àоîµé¿© ±× ÀνºÅϽº¸¦ ÀÛ¼ºÇÑ´Ù´Â °ÍÀÌ ±ÍÂúÀ¸¸é, ¶Ç ÇϳªÀÇ ¹æ¹ýÀ¸·Î¼­ Á¤Àû ¸Þ¼Òµå Zend_Filter::get() (À»)¸¦ ½ÇÇàÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.ÀÌ ¸Þ¼ÒµåÀÇ ÃÖÃÊÀÇ Àμö¿¡´Â, filter() ¸Þ¼Òµå¿¡ °Ç³×ÁÖ´Â ÀÔ·ÂÄ¡¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µÎ¹øÂ°ÀÇ Àμö´Â ¹®ÀÚ¿­·Î, ÇÊÅÍ Å¬·¡½ºÀÇ º£À̽º ³×ÀÓ (Zend_Filter À̸§ °ø°£¿¡ À־ÀÇ »ó´ëÀûÀÎ À̸§) (À»)¸¦ ÁöÁ¤ÇÕ´Ï´Ù. get() ¸Þ¼Òµå´Â ÀÚµ¿ÀûÀ¸·Î Ŭ·¡½º¸¦ Àоîµé¿© ±× ÀνºÅϽº¸¦ ÀÛ¼ºÇØ, ÁöÁ¤ÇÑ ÀԷ¿¡ ´ëÇØ¼­ filter() ¸Þ¼Òµå¸¦ Àû¿ëÇÕ´Ï´Ù.


<?php
require_once 'Zend/Filter.php';

echo 
Zend_Filter::get('&''HtmlEntities');

ÇÊÅÍ Å¬·¡½ºÀÇ constructor¡¡ ¡¡ ¿¡ ¿É¼ÇÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì´Â, ±×°ÍÀ» ¹è¿­·Î °Ç³×ÁÙ ¼ö ÀÖ½À´Ï´Ù.


<?php
require_once 'Zend/Filter.php';

echo 
Zend_Filter::get('"''HtmlEntities', array(ENT_QUOTES));

ÀÌ Á¤ÀûÀÎ »ç¿ë¹ýÀº, ±× ÀÚ¸®¿¡¼­ ÇÊÅ͸µ¿¡´Â Æí¸®ÇÕ´Ï´Ù. ´ÜÁö, º¹¼öÀÇ ÀԷ¿¡ ´ëÇØ¼­ ÇÊÅ͸¦ Àû¿ëÇÑ´Ù¸é, ÃÖÃÊÀÇ ¿¹ÀÇ ¹æ½Ä, Áï ÇÊÅÍ ¿ÀºêÁ§Æ®ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ±× filter() ¸Þ¼Òµå¸¦ ÄÝ ÇÏ´Â ¹æ½Ä ÂÊÀÌ º¸´Ù È¿À²ÀûÀÔ´Ï´Ù.

¶Ç,Zend_Filter_Input Ŭ·¡½º¿¡¼­µµ, ƯÁ¤ÀÇ ÀÔ·Â µ¥ÀÌÅͼ¼Æ®¸¦ ó¸®ÇÒ ¶§¿¡ º¹¼öÀÇ ÇÊÅͳª Validator¸¦ Çʿ信 µû¶ó¼­ ½ÇÇà½ÃŰ´Â ±â´Éµµ Á¦°øÇϰí ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº Ç×14.5. ¡¸Zend_Filter_Input¡¹ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.