Query: {
adminResolver: async (parent, args, context) => {
if(!context.user || !context.roles.includes("admin")) throw new Error("Permission denied!");
...
return data;
},
},
};
過去,開發(fā)人員會在前端生成 SQL 查詢,并將其發(fā)送到 API 以從 SQL 數據庫中獲取數據;因此,SQL 注入應運而生。攻擊者可以編寫 SQL 并將其發(fā)送到 API,API 會執(zhí)行該查詢,而無需進一步詢問。
雖然沒有人阻止 GraphQL API 開發(fā)人員創(chuàng)建接受在服務器上盲目執(zhí)行的 SQL 字符串的類型,但這種情況很少見。
但接受來自客戶端的數據始終存在風險。這就是為什么在獲取任何數據之前,所有輸入都應經過驗證和規(guī)范化。特別是自定義標量由于它們不進行默認驗證,因此很容易受到這種威脅。
3. 自省限制
GraphQL 為其 API 使用者提供了便捷的自省功能,允許 GraphQL 客戶端詢問 API 提供哪些類型的數據。這很棒,因為現在客戶端開發(fā)人員不必查看文檔,而是可以直接詢問 API 服務器有哪些數據可用。
但如果不嚴格控制,內省也可能被濫用。例如,當提供管理功能的 GraphQL 類型可以被普通用戶發(fā)現和使用時。
GraphQL API 創(chuàng)建者必須使用嚴格的授權方案進行自省,以使攻擊者更難找到 API 漏洞。如果外部開發(fā)人員不使用您的 API,在生產環(huán)境中禁用自省功能也是一個好主意。
例如,Apollo 服務器允許使用簡單的配置標志禁用自省:
const IS_PRODUCTION = process.env.ENVIRONMENT === "production";
const server = new ApolloServer({
typeDefs,
resolvers,
introspection: !IS_PRODUCTION,
});
server.listen();
4. 查詢限制
GraphQL 查詢?yōu)?API 消費者提供了很大的靈活性,只需一個請求就可以準確獲取他們想要的數據,但此功能也可能以多種方式被濫用。
惡意客戶端可能會出于各種原因創(chuàng)建非常深入、復雜或通常長時間運行的查詢。如果這些攻擊者發(fā)現導致大量計算的極端情況或利用N+1 查詢問題,它們會導致 API 超載并嚴重降低其他客戶端的性能。
這就是為什么 GraphQL API 應該將查詢執(zhí)行時間限制在合理的最大值。更好的是,實現此目標的另一種方法是限制查詢深度或復雜性,從而使執(zhí)行常見的 GraphQL DDoS 攻擊變得更加困難,這些攻擊往往使用遞歸和深度查詢來破壞服務。
5. 上游錯誤隱藏
如前所述,GraphQL API 不是數據存儲機制;這意味著它使用上游服務(如數據庫或其他 API)來獲取實際數據。這些服務也可能出現錯誤。如果您將上游服務的錯誤傳遞給客戶端,攻擊者可以利用它們來了解您的架構。
為了減輕這種威脅,您應該始終在將上游錯誤傳遞給客戶端之前對其進行處理;這樣,您可以隱藏獲取數據的服務,并禁止攻擊者利用這些服務可能存在的錯誤或安全漏洞。
我們來看下面的代碼示例:
const resolvers = {
Query: {
myResolver: async (parent, args, context) => {
try {
const data = await fetchFromRemoteDataSource();
return process(data);
} catch (upstreamError) {
const cleanError = analyzeUpstreamError(upstreamError);
throw cleanError;
}
},
},
};
解析器嘗試從遠程數據源獲取一些數據,但這可能會失敗。我們捕獲的錯誤來自遠程數據源,因此它可能包含有關數據源的信息。
我們需要分析錯誤并清除所有上游信息,然后再將其傳遞給客戶端。
確保 GraphQL API 的安全
GraphQL API 是改善前端團隊開發(fā)人員體驗的絕佳方式。它通過為客戶提供一種指定所需內容的方式來幫助優(yōu)化數據獲取。但這是以 API 架構的復雜性增加為代價的,這增加了 API 的攻擊面。
隨著GDPR和加拿大注冊會計師協(xié)會法律規(guī)定罰款高達數百萬美元,API 創(chuàng)建者比以往任何時候都更需要保持常見的 API 威脅在開發(fā) API 時要牢記這一點,并留意可能出現的 GraphQL 特定弱點。
原文地址:https://www.moesif.com/blog/technical/security/5-Security-Tips-for-Your-GraphQL-API/
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業(yè)工程師共享工作效率翻倍的秘密
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
精久久久久久久久久久|
91超碰这里只有精品国产|
日韩一卡二卡三卡四卡|
亚洲欧洲成人精品av97|
成人黄色av网站在线|
bt欧美亚洲午夜电影天堂|
日本视频中文字幕一区二区三区
|
91一区在线观看|
免费人成在线不卡|
中文字幕综合网|
精品国产电影一区二区|
欧美日韩在线免费视频|
91国内精品野花午夜精品|
日韩国产高清影视|
亚洲视频免费看|
国产精品麻豆欧美日韩ww|
欧美日韩免费高清一区色橹橹|
懂色中文一区二区在线播放|
成人免费毛片aaaaa**|
国产一区二区电影|
久久精品二区亚洲w码|
亚洲成av人片一区二区梦乃|
亚洲第一成人在线|
男人的j进女人的j一区|
亚洲444eee在线观看|
日韩高清在线电影|
国产精品自拍一区|
av高清久久久|
欧美老女人在线|
㊣最新国产の精品bt伙计久久|
婷婷综合久久一区二区三区|
久久99精品久久只有精品|
国产精品白丝在线|
国产精品九色蝌蚪自拍|
亚洲午夜久久久久久久久电影院|
午夜欧美2019年伦理|
国产suv一区二区三区88区|
亚洲一级不卡视频|
成人18视频日本|
亚洲精品在线观|
国产原创一区二区三区|
日韩午夜av电影|
日韩电影在线看|
欧美自拍偷拍一区|
一区二区三区不卡视频在线观看|
久草这里只有精品视频|
欧美电影在线免费观看|
国产婷婷一区二区|
亚洲女性喷水在线观看一区|
最新国产精品久久精品|
韩国精品在线观看|
久久久久久久综合色一本|
国产精品国产自产拍高清av王其|
国内外成人在线|
欧美天天综合网|
久久精品国产免费看久久精品|
精品久久久久久久久久久久久久久|
免费观看日韩电影|
亚洲国产精品精华液ab|
色域天天综合网|
麻豆国产一区二区|
国产精品区一区二区三区|
欧洲色大大久久|
成人高清视频在线|
蜜乳av一区二区|
亚洲电影在线免费观看|
久久久久久黄色|
日韩欧美成人一区|
色综合久久久久|
国产高清成人在线|
国产又粗又猛又爽又黄91精品|
国产精品久久久久7777按摩|
精品国产三级电影在线观看|
a级高清视频欧美日韩|
日韩国产高清在线|
亚洲一区二区三区四区在线免费观看
|
www激情久久|
久久久久国产精品麻豆ai换脸|
不卡区在线中文字幕|
成人国产精品免费|
色婷婷av久久久久久久|
午夜精品久久久久久久久|
亚洲精品国产精华液|
亚洲乱码国产乱码精品精小说|
亚洲精品日韩综合观看成人91|
一区二区三区中文字幕电影|
国产精品入口麻豆原神|
偷偷要91色婷婷|
成人美女视频在线看|
99国产精品99久久久久久|
欧美精品在线一区二区三区|
欧美成人综合网站|
亚洲人成人一区二区在线观看|
亚洲成人av福利|
久久国产尿小便嘘嘘|
99精品一区二区三区|
欧美一区二区三区免费|
一区二区在线观看av|
黄页网站大全一区二区|
一本久久a久久免费精品不卡|
欧美一级免费大片|
亚洲国产视频一区二区|
国产自产高清不卡|
日韩精品在线看片z|
一级特黄大欧美久久久|
日本韩国一区二区三区|
国产精品欧美一级免费|
韩日精品视频一区|
欧美国产一区视频在线观看|
高清视频一区二区|
国产午夜精品美女毛片视频|
国产69精品久久99不卡|
久久久噜噜噜久久中文字幕色伊伊|
国产精品毛片久久久久久久|
久久99精品视频|
日本一区二区视频在线|
色婷婷激情久久|
亚洲va国产va欧美va观看|
欧美精品黑人性xxxx|
免费在线观看一区二区三区|
欧美精品一区二区三|
日韩高清一区二区|
国产精品成人免费|
91精品一区二区三区久久久久久|
国产综合色产在线精品|
亚洲色图一区二区|
国产色爱av资源综合区|
91在线观看污|
国产综合久久久久影院|
天天操天天综合网|
久久先锋影音av鲁色资源
|
国产成人av影院|
日韩高清国产一区在线|
亚洲最大色网站|
一区二区不卡在线视频 午夜欧美不卡在
|
亚洲一区在线电影|
亚洲美女屁股眼交|
亚洲免费毛片网站|
国产精品麻豆欧美日韩ww|
欧美成人免费网站|
国产精品久久久久久久久久免费看|
久久只精品国产|
久久蜜臀中文字幕|
亚洲欧美中日韩|
五月婷婷综合激情|
激情综合色播激情啊|
成人在线一区二区三区|
中文字幕一区二区三区四区|
精品理论电影在线观看|
东方欧美亚洲色图在线|
99国产精品视频免费观看|
久久9热精品视频|
亚洲午夜久久久久久久久电影网
|
欧美在线不卡一区|
日韩欧美亚洲国产精品字幕久久久|
欧美videofree性高清杂交|
26uuu精品一区二区|
亚洲视频在线观看三级|
日本免费在线视频不卡一不卡二|
极品瑜伽女神91|
欧美性欧美巨大黑白大战|
日韩一二在线观看|
成人av资源站|
欧美一级二级三级蜜桃|
欧美日韩高清影院|
欧美日韩在线直播|
国产精品亲子伦对白|
国产成人欧美日韩在线电影|
欧美性xxxxxx少妇|
日韩一区欧美一区|
色综合色综合色综合|
中文字幕乱码一区二区免费|
蜜桃av一区二区在线观看|
欧美少妇性性性|
中文字幕中文字幕在线一区|
亚洲国产精品久久人人爱蜜臀
|
亚洲精品午夜久久久|
91首页免费视频|
亚洲男人的天堂av|
欧美性视频一区二区三区|
一区二区三区久久|
在线播放亚洲一区|
成年人国产精品|
欧美久久久久久久久中文字幕|
国内精品伊人久久久久影院对白|
日韩一级黄色大片|
gogo大胆日本视频一区|
亚洲午夜免费福利视频|
亚洲精品在线网站|
欧美性大战xxxxx久久久|
国内精品免费**视频|
亚洲激情中文1区|
久久久国产午夜精品|
91精品一区二区三区久久久久久|
国产成人精品1024|
九九**精品视频免费播放|
亚洲日本成人在线观看|
欧美激情在线一区二区三区|
久久久久久久综合日本|
337p日本欧洲亚洲大胆精品
|