php防止sql注入代碼和SQL中的行級(jí)安全性在生成CRUD時(shí)的聲明性功能php防止sql注入
2022-09-12
SQL 中的行級(jí)安全性
2022-09-05 10:07·陜西
在構(gòu)建 CRUD 后端時(shí),SQL 中的行級(jí)安全性是一項(xiàng)聲明性功能。一個(gè)簡單的下拉列表,你就完成了!
我們一直在 . 但是,截至今天,SQL 中的行級(jí)安全性在生成 CRUD 后端時(shí)是一項(xiàng)聲明性功能。請(qǐng)參閱下面的屏幕截圖以了解。
打開網(wǎng)易新聞查看精彩圖片
上面是我使用 SQL 添加到 CRM 插件的簡單表格。這個(gè)想法是有一個(gè)表php防止sql注入代碼,每個(gè)用戶都可以在其中存儲(chǔ)筆記以供以后使用。“所有者”字段是特定記錄所屬便箋的用戶名。任何用戶都不應(yīng)有權(quán)訪問其他用戶的筆記。這個(gè)想法被稱為“行級(jí)安全”。如果您在 SQL 中重現(xiàn)上述數(shù)據(jù)庫表,然后轉(zhuǎn)到 CRUD 生成器,并選擇您的數(shù)據(jù)庫和表,如果您展開“所有者”列,您將看到類似這樣的內(nèi)容。
打開網(wǎng)易新聞查看精彩圖片
上面的下拉菜單允許您將您的字段“鎖定”到經(jīng)過身份驗(yàn)證的用戶的用戶名。此功能將自動(dòng)生成確保所有 CRUD 操作的行級(jí)安全所需的所有代碼。創(chuàng)建記錄將自動(dòng)“注入”用戶名。讀取只會(huì)返回屬于用戶的記錄。更新將只允許更新屬于用戶的記錄。并刪除seo優(yōu)化,直到只刪除屬于該用戶的記錄。
這是一個(gè)非常有用的功能小程序開發(fā),CRUD 生成器會(huì)自動(dòng)為您處理一切。你不需要編碼。
它是如何工作的?
我之前肯定說過一百萬次,但是如果沒有元編程語言,就不可能創(chuàng)建類似于我們的 CRUD 生成器的東西。我要重復(fù)這一點(diǎn),因?yàn)槿藗兛吹剿鼤r(shí)問我的第一個(gè)問題是;“你為什么不使用 PHP 或者?為什么會(huì)有這個(gè) '' 東西?”
我的答案總是一樣的;“沒有元編程語言是不可能的。據(jù)我所知,這是現(xiàn)存唯一的現(xiàn)代元編程語言?!?/p>
原因是您在上面的屏幕截圖中看到的小下拉菜單實(shí)際上會(huì)將代碼“動(dòng)態(tài)注入”到模板中。只有當(dāng)您可以將代碼視為數(shù)據(jù)時(shí),這才有可能。這意味著您可以從語義上查詢代碼以查看它是如何工作的。此過程類似于將 HTML 元素注入 DOM 時(shí)遵循的過程。HTML 是一種“語義”語言,這意味著它不會(huì)“編譯”。從根本上說,HTML 只是一個(gè)樹形結(jié)構(gòu)。與 HTML 共享此功能,它只是一棵樹!
這允許 CRUD 生成器和其他記錄概念在語義上檢查并根據(jù)您的規(guī)范在正確的位置動(dòng)態(tài)注入額外的片段。
在 PHP、C# 或 Java 中甚至不可能做到這一點(diǎn)!
以下是在 SQL 中重新創(chuàng)建上表所需的 SQL 供您參考。
(
不是空鍵,
文本不為空php防止sql注入代碼,
文本不為空
);