[英]Is it good practice to send ID from database table like GET parameter in URL?
我只想問一件事。 我從數據庫中選擇書籍並將其顯示為列表。 當用戶按下書名時,需要他去書內頁。 我認為它很簡單,帶有獲取參數(ID)的make href(此ID參數是從數據庫中選擇的)。 例如: <a href="book/?id=12">Book title</a>
。 這樣做是一種好習慣嗎? 或者最好發送其他參數,而不是id
只要查詢字符串不包含敏感信息,就可以了。 這樣傳遞ID是絕對正常的,甚至是標准的。
附帶說明一下,如果您對SEO感興趣,則可能要在URL中傳遞書名,因為URL內容會在一定程度上影響您的排名。 因此,使用諸如book/{book-id}-{bookname}
類的URL可能是個好主意,例如book/12344-critique-of-pure-reason
。
UPDATE
正如@Fred -ii-合理指出的那樣,您必須確保防止SQL注入。 由於您願意使用簡單的整數ID,因此實現起來非常簡單(在非常基本的級別上):
<?php
if (!empty($_GET['id'])) {
// Filter value of $_GET['id'] to prevent SQL injection
//
// This particular line removes all characters
// except digits, plus and minus sign from the passed parameter.
$requestedId = filter_var($_GET['id'], FILTER_VALIDATE_INT);
// continue with querying your database
}
因此,請確保您正在執行此操作,否則數據庫將不安全。
是的,沒問題,您也可以發送POST請求而不是GET,我認為會更好。
解決方案1
book/?ids=12,13,14
解決方案2:提交表格如下
<input name="id" value="12"/>
<input name="id" value="13"/>
<input name="id" value="14"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.