????????????????Σ????????????????????????????????????????У?????????????????????????? debug ?????
<?php
//???????????У?
define("DEBUG_MODE"?? 0);    // 1: DEBUG MODE; 0: RELEASE MODE
//???y???У?
$t_strSQL = "SELECT a from b....";
if (mysql_query($t_strSQL)) {
// ????????
} else {
if (DEBUG_MODE) {
echo "????! SQL ???$t_strSQL???????" . mysql_query();
}
exit;
}
?>
????3. ?????? sql ????????????????顣
?????????д???????????????????
?????????????????????? php + mysql ??? ????д????????? PAPI_GetSafeParam()????????????????????
<?php
define("XH_PARAM_INT"?? 0);
define("XH_PARAM_TXT"?? 1);
function PAPI_GetSafeParam($pi_strName?? $pi_Def = ""?? $pi_iType = XH_PARAM_TXT) {
if (isset($_GET[$pi_strName])) {
$t_Val = trim($_GET[$pi_strName]);
} else if (isset($_POST[$pi_strName])) {
$t_Val = trim($_POST[$pi_strName]);
} else {
return $pi_Def;
}
// INT
if (XH_PARAM_INT == $pi_iType) {
if (is_numeric($t_Val)) {
return $t_Val;
} else {
return $pi_Def;
}
}
// String
$t_Val = str_replace("&"?? "&"?? $t_Val);
$t_Val = str_replace("<"?? "<"?? $t_Val);
$t_Val = str_replace(">"?? ">"?? $t_Val);
if (get_magic_quotes_gpc()) {
$t_Val = str_replace("""?? """?? $t_Val);
$t_Val = str_replace("''"?? "'"?? $t_Val);
} else {
$t_Val = str_replace("""?? """?? $t_Val);
$t_Val = str_replace("'"?? "'"?? $t_Val);
}
return $t_Val;
}
?>
??????????????У?????????????
????$pi_strName????????
????$pi_Def??????
????$pi_iType?? ???????????? XH_PARAM_INT??XH_PARAM_TXT???????????????????
?????????????????????????? is_numeric() ?ж????????????????????????????????????
?????????????????????????????????????Σ???????????HTML???????????塣???? php ???? addslashes()????????????? str_replace()????滻??get_magic_quotes_gpc( ) ?????? php ????????????ж? magic_quotes_gpc ?????????
?????????????????????????????????
<?php
if (isset($_POST["f_login"])) {
// ?????????...
// ...??????...
// ????????????
$t_strUid = PAPI_GetSafeParam("f_uid"?? 0?? XH_PARAM_INT);
$t_strPwd = PAPI_GetSafeParam("f_pwd"?? ""?? XH_PARAM_TXT);
$t_strSQL = "SELECT * FROM tbl_users WHERE uid=$t_strUid AND password = '$t_strPwd' LIMIT 0??1";
if ($t_hRes = mysql_query($t_strSQL)) {
// ?????????????. ??...
}
}
?>
????????????????????????PAPI_GetSafeParam??????е????????????Ч???????????????????????????????????