여기에 몇 가지 문제가 있습니다. 웹 사이트 데이터베이스에서 데이터를 가져 오기 위해 쿼리를 만들려고하지만 쿼리가 없어도 행이 반환됩니다. vars $uslog
및 $ushas
은 각 사용자의 사용자 이름과 해시 코드이며,이 경우에는 'PixelKnight1398'및 '1398'인 테스트 사용자입니다. 쿠키는 그대로 저장됩니다. phpMyAdmin에서 MySQL 코드를 실행하려고하면 완벽하게 작동하지만이 경우에는 작동하지 않습니다. 문법 오류이거나 내가 어리석은 일이라면 무엇이 잘못 될지 잘 모르겠습니다. 어떤 도움이라도 미리 감사드립니다.PHP 코드가 제대로 실행되지 않습니까?
$uslog = cure($_COOKIE['userloggedin']);
$ushas = cure($_COOKIE['uservalue']);
function cure($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$query = "SELECT friends FROM `memberHandler` WHERE `username`='$uslog' AND `hash`='$ushas'";
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) != 1){
die("Could not find user match");
}
SQL 주입 –
시도''$ uslog =에 대해 최대 읽어 보시기 바랍니다 (PDO를 사용하지 않는 연산 이후 코드의 다른 부분의 부재에주의) "도리안 '; DROP 표'friends' -"' ' ... 그리고'echo $ query;'를 실행하는 대신에. ;-) –
Btw : htmlspecialchars와 같은 서식은 HTML 출력 전에 수행되어야하며 데이터베이스에 저장하기 전에 수행해야합니다. 원시 데이터가 필요한 상황이 발생할 수 있기 때문입니다. –