Á¦11 Àå Zend_Filter

¸ñÂ÷

11.1. µµÀÔ
11.2. ÇÊÅÍ Ã¼ÀÎ
11.3. ÇÊÅÍÀÇ ¾²´Â ¹ý
11.4. Zend_Filter_Input
11.4.1. µµÀÔ
11.4.2. µ¿ÀÛÀÇ ¿ø¸®

11.1. µµÀÔ

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

ÇÊÅͶõ?

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

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

¿©±â¼­ »ý°¢ÇÑ ÇÊÅÍ¿¡ ´ëÇÑ Á¤ÀǸ¦ ±âÃÊ·Î ÇØ¼­ 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;