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


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 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
223
sessionStorage.getItem ¿Í sessionStorage.setItem
222
¿©·¯ µµ¸ÞÀÎµé °£ ÄíÅ° °øÀ¯Çϱâ
221
ÄíÅ° »ý¼º,°¡Á®¿À±â,»èÁ¦
220
curl ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ HTTP REFERER º¯°æ
219
4±â°¡ ÀÌ»óÀÇ Å×À̺íÀ» ¸¸µé°í ½Í´Ù¸é(Å×À̺íÀÇ AVG_ROW_LENGTH, MAX_ROWS)
218
[mySql] ´Ù¾çÇÑ db°Ë»ö ½ºÅ³ ÃÑÁ¤¸® (¶ç¿ö¾²±â ¹«½Ã, ´ÙÁß°Ë»ö, Æ÷ÇԵǴ ´Ü¾î °Ë»ö)
php sqlÀÎÁ§¼Ç °ø°Ý¸·±â
216
[php] SQL ÀÎÁ§¼Ç °ø°Ý
215
Á¤±ÔÇ¥Çö½Ä - ÆÐÅÏ º¯°æÀÚ
214
fopen ¸·ÇûÀ» ¶§ fsocketopen »ç¿ë¹æ¹ý
213
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (mysqli Ŭ·¡½º¹æ½Ä)
212
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (pdo ¹æ½Ä)
211
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (original)
210
DB Á¢±Ù ¹× Äõ¸®¹®(insert,select,update,delete)
209
[MySQL] Çʵ忡¼­ ƯÁ¤¹®ÀÚ Æ÷ÇÔ ¶Ç´Â Á¦¿ÜÇÑ DB °Ë»ö, LIKE ,NOT
208
SHOUTcast ¸¦ ÀÌ¿ëÇÑ ÀÎÅÍ³Ý ¶óÀÌºê ¹æ¼Û ½Ã½ºÅÛ ±¸Ãà
207
PHP ÀÎÁ§¼Ç°ú file get contentsÀÇ °ü°è
206
DB Á¢±Ù ¹× Äõ¸®¹®(insert,select,update,delete)
205
[MySQL] Çʵ忡¼­ ƯÁ¤¹®ÀÚ Æ÷ÇÔ ¶Ç´Â Á¦¿ÜÇÑ DB °Ë»ö, LIKE ,NOT
204
php5 mysqli µðºñ Á¢¼Ó Ŭ·¡½º ÇÁ·Î±×·¥ ¹× »ç¿ë¹ý
203
html¿¡¼­ ÀÔ·ÂÇÑ°ª DB¿¡¼­ ¹Þ¾Æ¿À±â (µµ¼­Á¤º¸ °Ë»ö)
202
SQL Äõ¸® Á¤¸®
201
[MySql]DB¿¡¼­ ¼­·Î ´Ù¸¥ Å×À̺íÀÇ µ¥ÀÌÅ͸¦ Çѹø¿¡ ºÒ·¯¿À±â
200
À¥È£½ºÆü­¹ö ±×´ë·Î µû¶ó ¸¸µé±â
199
Fatal error: Allowed memory size of ~~
198
.htaccess ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© PHP ¾÷·Îµå ¿ë·® Á¦ÇÑ º¯°æ
197
¿ìºÐÅõ php.ini ¼³Á¤
196
CURL »ç¿ë¹ý
195
Mysql DB¿¡¼­ ƯÁ¤´Ü¾îµé ÀÏ°ý ¼öÁ¤ Äõ¸®
194
mysql ÇÔ¼öÀÇ php ¿¬°á ¹× Á¾·ù
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.