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