나는 사람들이이 일을 어떻게 막을 수 있는지 궁금합니다. blahblah.com/index.php?id=../../file.php
MySQL 행을 계산하여 사람들이 문자를 입력하지 못하도록 막으십시오.
나는 mysql 행을 세어서이 문제를 막을 수 있다고 들었다. ...?
나는 사람들이이 일을 어떻게 막을 수 있는지 궁금합니다. blahblah.com/index.php?id=../../file.php
MySQL 행을 계산하여 사람들이 문자를 입력하지 못하도록 막으십시오.
나는 mysql 행을 세어서이 문제를 막을 수 있다고 들었다. ...?
당신은 다음을 수행 할 수 있습니다 : 그것은 (1)의 경우, 그렇지 않으면 요청
EDIT (예)에 문제가 유효한이다 id ']가 설정되지 않았거나 0 일 경우 "유효하지 않은 항목"이 표시됩니다. (INT)도 0
에 또 다른 솔루션을 문자열을 캐스팅합니다 :
<?php
$id = isset($_GET['id']) ? $_GET['id'] : false;
if ($id && is_numeric($id)) {
// run mysql query here
} else {
echo 'Invalid item..';
}
이드. '
<?php
$id = isset($_GET['id']) ? (int)$_GET['id'] : false;
if ($id) {
// do your thing..
} else {
echo 'invalid item..';
}
IF $ _GET [:
이<?php
if(is_numeric($_GET['id']))
{
$id = $_GET['id'];
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM table WHERE id=".$id));
if($count == 1)
{
//Id is valid, moving on...
}
elseif($count == 0)
{
//Id doesn't exist, display error message
}
else
{
//Id exists more than 1 time, meaning there is a serious issue.
//Display error message or send email to webmaster
}
}
else
{
//Display error message (incorrect format for example)
}
?>
THRE이 질문에 많은 의미하지 않습니다. 이 'id'매개 변수의 유형은 무엇입니까? 그것이 데이터베이스의 숫자 식별자라면,'../../ file.php'는 해를 끼치 지 않을 것입니다. 행 수를 계산하는 것은 특히 여기에 할 일이 없습니다. 더 구체적인 질문을 할 수 있습니까? 지금 당장 문제가 있습니까? –