我已經發布了關於此之前,但從來沒有在這方面,所以請看看:這將如何影響防止SQL注入的機會?
我被告知一種方法來做sql注入是使用1 = 1,其中有人可以看到所有不屬於他們。
但可以說,構建我的查詢,以便它也選擇了當前用戶的USER_ID,將這項工作:
$userid = Current users stored id in database;
$postid = mysql_real_escape_string($_GET['id']);
現在讓我們假設我進入:domain.com/page.php?id='' OR '1'='1'
Select article_name from table where user_id=$userid and post_id=$postid
查詢是否仍會返回所有內容,否則將不會返回,因爲我添加了User_id
屏障?
謝謝!如果$ userid類似於42343AKJKLJKLDJ,$ postid類似於34kAja,它會繼續工作,如果我使用int() –
@Sam,但它們不會是整數,但字符串,不是嗎?在這種情況下,你可以將它們包裝在引號中,並保持安全 –
我有點新,所以我不明白。整數是整數,但如果我有字母數字ID將它仍然工作,那麼如果我用int ..? –