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


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,795
[mySql] ´Ù¾çÇÑ db°Ë»ö ½ºÅ³ ÃÑÁ¤¸® (¶ç¿ö¾²±â ¹«½Ã, ´ÙÁß°Ë»ö, Æ÷ÇԵǴ ´Ü¾î °Ë»ö)
php sqlÀÎÁ§¼Ç °ø°Ý¸·±â
2,793
[php] SQL ÀÎÁ§¼Ç °ø°Ý
2,792
[PHP] Á¤±ÔÇ¥Çö½ÄÀ» ÀÌ¿ëÇÑ Æ¯¼ö¹®ÀÚ ¼ýÀÚÁ¦°Å
2,791
Á¤±ÔÇ¥Çö½Ä - ÆÐÅÏ º¯°æÀÚ
2,790
PHP ȯ°æº¯¼ö Á¤¸®
2,789
PHP Ŭ·¡½º »ç¿ë¹æ¹ý Á¤¸®
2,788
php¿¡¼­ º¯¼ö°ªÀ» ÇÔ¼öÀ̸§À¸·Î »ç¿ëÇÏ¿© ÇÔ¼ö ½ÇÇàÇÏ´Â ¹æ¹ý
2,787
repaceÀ» ÀÌ¿ëÇÑ Á¤±Ô½Ä ¸ðÀ½
2,786
HTML ÆäÀÌÁö¿¡¼­ ÁÖ¼®À» Á¦°ÅÇÏ´Â Á¤±Ô½Ä(PHP)
2,785
PHP - ¹®ÀÚ¿­¿¡¼­ HTMLÅÂ±× Á¦°Å + Á¤±Ô½Ä
2,784
PHP Á¤±Ô½ÄÀ» È°¿ëÇÑ ÅÂ±× ¹× ƯÁ¤ ¹®ÀÚ¿­ Á¦°Å ¹× ÃßÃâ ¹æ¹ý
2,783
PHP Á¤±Ô½Ä Á¤¸®
2,782
Á¤±Ô½Ä ÆÐÅÏ ¹®¹ý
2,781
[Á¤±ÔÇ¥Çö½Ä]Á¤±ÔÇ¥Çö½Ä Á¤¸®
2,780
fopen ¸·ÇûÀ» ¶§ fsocketopen »ç¿ë¹æ¹ý
2,779
[php]¿øÇÏ´Â ´Ü¾î¸¦ ã¾Æ¼­ ġȯ ÇØÁÖ´Â ¹æ¹ý preg_replace
2,778
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (mysqli Ŭ·¡½º¹æ½Ä)
2,777
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (pdo ¹æ½Ä)
2,776
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (original)
2,775
DB Á¢±Ù ¹× Äõ¸®¹®(insert,select,update,delete)
2,774
[MySQL] Çʵ忡¼­ ƯÁ¤¹®ÀÚ Æ÷ÇÔ ¶Ç´Â Á¦¿ÜÇÑ DB °Ë»ö, LIKE ,NOT
2,773
jQuery ÇÙ½É - ³ëµå ´Ù·ç±â
2,772
jQuery show() / hide() / toggle() »ç¿ë¹ý
2,771
[jQuery] readyÀÇ »ç¿ë¹ý
2,770
[jQuery] À§Ä¡±â¹Ý Selector
2,769
[jQuery] css selector
2,768
document.getElementByTagName()¸¦ jQuery·Î ¹Ù²ãº¸ÀÚ.
2,767
getElementsByClassName¸¦ jQuery·Î ¹Ù²ãº¸ÀÚ.
2,766
getElementById¸¦ jQuery·Î ¹Ù²ãº¸ÀÚ
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.