ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


php sqlÀÎÁ§¼Ç °ø°Ý¸·±â
7³â Àü
Example#1 mysql_real_escape_string() ¿¹Á¦

<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));
?>
Example#2 SQL ÀÎÁ§¼Ç °ø°Ý(Injection Attack)ÀÇ ¿¹

<?php
// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// This means the query sent to MySQL would be:
echo $query;
?>
MySQL·Î Àü¼ÛµÇ´Â ÁúÀÇ:

SELECT * FROM users WHERE name='aidan' AND password='' OR ''=''

    
À¯È¿ÇÑ ºñ¹Ð¹øÈ£ ¾øÀÌ ´©±¸³ª Á¢¼ÓÇÏ¿© Á¢±ÙÀÌ °¡´ÉÇÏ´Ù.

Example#3 "Best Practice" ÁúÀÇ

mysql_real_escape_string()Àº °¢ º¯¼ö¿¡ ´ëÇØ SQL ÀÎÁ§¼ÇÀ» ¹æÁöÇÑ´Ù. ÀÌ ¿¹Á¦´Â Magic Quotes ¼³Á¤°ú´Â º°°³·Î µ¥ÀÌÅͺ£À̽º¸¦ ÁúÀÇÇÏ´Â "best practice" ¹æ¹ýÀ» ½Ã¿¬ÇÑ´Ù.

<?php
// Quote variable to make safe
function quote_smart($value)
{
    // Stripslashes
    if (get_magic_quotes_gpc()) {
        $value = stripslashes($value);
    }
    // Quote if not integer
    if (!is_numeric($value)) {
        $value = "'" . mysql_real_escape_string($value) . "'";
    }
    return $value;
}

// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Make a safe query
$query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s",
            quote_smart($_POST['username']),
            quote_smart($_POST['password']));

mysql_query($query);
?>
SQL ÀÎÁ§¼Ç °ø°ÝÀÌ µ¿ÀÛÇÏÁö ¾ÊÀ¸¸ç ÁúÀÇ°¡ Á¤È®ÇÏ°Ô ½ÇÇàµÉ °ÍÀÌ´Ù
ÃßõÃßõ : 264 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,855
HTML <Audio> »ç¿ë¹ý
2,854
À©µµ¿ì10 ½Ã½ºÅÛÆÄÀÏ ¼Õ»ó (ÃÊ°£´Ü ¿À·ù º¹±¸¹æ¹ý!!)
2,853
PHP ÆÄÀÏ Á¸Àç ¿©ºÎ ÆľÇÇϱâ(·ÎÄà ÆÄÀÏ Á¸Àç ¹× ¿ø°ÝÁö ÆÄÀÏ Á¸Àç)
2,852
[CSS] ¹Ú½º ¼¼·Î °¡¿îµ¥ Áß¾Ó Á¤·Ä 6°¡Áö
2,851
CSS Layout ¼öÆò & ¼öÁ÷ Á¤·Ä
2,850
¿©·¯ µµ¸ÞÀÎµé °£ ÄíÅ° °øÀ¯Çϱâ
2,849
ÅÂ±× »çÀÌ¿¡ ÀÖ´Â ÅؽºÆ®¸¦ ÃßÃâ
2,848
[JQuery] textbox focus on offÀ϶§ ¼ýÀÚ ÄÞ¸¶ º¸¿©ÁÖ±â
2,847
ÄíÅ° »ý¼º,°¡Á®¿À±â,»èÁ¦
2,846
»ç¿ëÀÚ ÇÔ¼ö ¸ðÀ½
2,845
¸¶¿ì½º,Å°º¸µå Á¦ÇÑ ( ¿À¸¥ÂÊŬ¸¯,µå·¡±×,¿µ¿ª¼±Åõî..)
2,844
[HTML5] <video> - DOMÀ¸·Î Á¦¾îÇϱâ
2,843
HTML5 video ű׿¡¼­ ¿µ»ó Á¿ì¹ÝÀü
2,842
PHP - ƯÁ¤ ÅÂ±× ¹× ¹®ÀÚ¿­ ÃßÃâ, Á¦°Å
2,841
[PHP] define°ú definedÀÇ Â÷ÀÌ
2,840
¿ìŬ¸¯ ¿Ïº®Â÷´Ü ½ºÅ©¸³Æ®
2,839
iframe ³ôÀÌ 100% ¸ÂÃß±â
2,838
curl ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ HTTP REFERER º¯°æ
2,837
À©µµ¿ì10 ½Ã½ºÅÛ ÆÄÀÏ ¹× Dism °Ë»ç
2,836
ÅؽºÆ® ÁٹٲÞ, ±ÛÀÚÀÚ¸£±â CSS
2,835
jQuery Mobile¿¡¼­ À¯¿ëÇÑ ÄÚµå 10°¡Áö.
2,834
[PHP] dirname()ÇÔ¼ö¿Í $_SERVER °ü·Ã »ó¼öµé
2,833
[PHP] ÆÄÀÏ Å©±â, »çÀÌÁî ºÒ·¯¿À´Â ÇÔ¼ö, filesize()
2,832
[jQuery] jQuery Quick API
2,831
[ transition ] ¸µÅ© hover »ö»ó º¯È­ ¼Óµµ Á¶Àý
2,830
PHP 5.3.0 ¿¡¼­ »ç¶óÁø ÇÔ¼öµé ´ëü
2,829
¾î¶² ÆÄÀϵéÀÌ include ³ª require µÇ¾ú´ÂÁö È®ÀÎÇÏ´Â ÇÔ¼ö(get_included_files)
2,828
PHP ³¯Â¥ Çü½Ä ¹× °è»êÇϱâ(³¯Â¥ ´õÇÏ°í »©±â)
2,827
jQuery Mobile¿¡¼­ À¯¿ëÇÑ ÄÚµå 10°¡Áö.
2,826
°ªÀÌ ¹è¿­ ¾È¿¡ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇÏ´Â in_arrayÇÔ¼ö
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.