| ¾ïÁ¦ÇÏÁö ¸øÇÑ »ç¶÷ Untaint´Â ¿À¿° µÈ µ¥ÀÌÅ͸¦ ¼¼Å¹ÇϱâÀ§ÇÑ Perl ¸ðµâÀÔ´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
¾ïÁ¦ÇÏÁö ¸øÇÑ »ç¶÷ ¼øÀ§ ¹× ¿ä¾à
- ƯÇã:
- Perl Artistic License
- °Ô½ÃÀÚ À̸§:
- Kevin Meltzer
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://search.cpan.org/~sherzodr/Class-PObject-2.17/docs/Philosophy.pod
¾ïÁ¦ÇÏÁö ¸øÇÑ »ç¶÷ ű×
¾ïÁ¦ÇÏÁö ¸øÇÑ »ç¶÷ ¼³¸í
Untaint´Â ¿À¿° µÈ µ¥ÀÌÅ͸¦ ¼¼Å¹ÇϱâÀ§ÇÑ Perl ¸ðµâÀÔ´Ï´Ù. Untaint´Â ¿À¿° µÈ µ¥ÀÌÅ͸¦ ¼¼Å¹ÇϱâÀ§ÇÑ Perl ¸ðµâÀÔ´Ï´Ù .Synopsis´Â ¹Ì°³ÀÎÀ» »ç¿ëÇÕ´Ï´Ù. MY $ PATTERN = QR (^ KW +); ³» $ foo = $ argv ; # (is_tainted ($ foo)) {print "$ foo°¡ ¿À¿° µÈ °æ¿ì # tallarÀÔ´Ï´Ù. laundern ½Ãµµ"; $ foo = untaint ($ ÆÐÅÏ, $ foo); } else {print "$ foo´Â ¿À¿°µÇÁö ¾Ê½À´Ï´Ù !! n"; } # @foo = @Argv ¹è¿À» ´·¶½À´Ï´Ù. @foo, "¿À¿°µÇÁö ¾ÊÀ½"; if (is_tainted (@foo)) {print "@foo°¡ ¿À¿°µË´Ï´Ù. Laundern ½Ãµµ"; my @new = ¹ÌÄ¥ ($ pattern, @ foo); } else {print "@foo´Â ¿À¿°µÇÁö ¾Ê½À´Ï´Ù !! n"; } # ¸ñ·Ï ($ a, $ b, $ c) = ¹ÌÄ¥ (qr (qr (^ d + $), ($ a, $ b, $ c)); # Untaint Çؽà My $ test = { 'name'=> $ argv , '³ªÀÌ'=> $ argv , '¼ºº°'=> $ argv , '½Ã°£'=> '´Ê°Ô' }; MY $ PATTERNS = { 'NAME'=> QR (^ KW +), '³ªÀÌ'=> QR (^ D +), '¼ºº°'=> QR (^ W $)}; $ UNTATT_ALLOW_HASH ++; MY % NEW = UNTATT_HASH ($ ÆÐÅÏ, % {$ TEST});ÀÌ ¸ðµâÀº -T ½ºÀ§Ä¡¸¦ »ç¿ëÇÏ¿© ¿À¿° ¸ðµå·Î »ç¿ëÇÏ¿© ¿À¿° µÈ µ¥ÀÌÅ͸¦ ¼¼Å¹ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÀÌ°ÍÀº CGI ½ºÅ©¸³Æ® ¹× ¸í·É ÁÙ ½ºÅ©¸³Æ®¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµâÀº ½ºÄ®¶ó, ¹è¿ ¹× Çؽø¦ ¹ÌÄ¥ °ÍÀÔ´Ï´Ù. ¹è¿À» ¼¼Å¹ ÇÒ ¶§ ¿À¿° µÈ ¹è¿ ¿ä¼Ò ¸¸ ¼¼Å¹µË´Ï´Ù. ¡¤ Perl ¿ä±¸ »çÇ× : ¡¤ Perl.
¾ïÁ¦ÇÏÁö ¸øÇÑ »ç¶÷ °ü·Ã ¼ÒÇÁÆ®¿þ¾î