{"id":3254,"date":"2026-08-09T16:07:31","date_gmt":"2026-08-09T08:07:31","guid":{"rendered":"https:\/\/systw.net\/note\/?p=3254"},"modified":"2026-08-09T16:17:31","modified_gmt":"2026-08-09T08:17:31","slug":"http-status-code-analysis","status":"publish","type":"post","link":"https:\/\/systw.net\/note\/archives\/3254","title":{"rendered":"HTTP Status Code Analysis"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">HTTP \u72c0\u614b\u78bc\u662f Web \u5b89\u5168\u5206\u6790\u4e2d\u4f4e\u6210\u672c\u3001\u9ad8\u56de\u5831\u7684\u6578\u64da\u4f86\u6e90\uff0c\u5c0d\u8cc7\u5b89\u4eba\u54e1\uff08\u4e0d\u8ad6\u662f\u7d05\u968a\u6ef2\u900f\u6e2c\u8a66\u3001\u85cd\u968a SOC \u76e3\u63a7\u3001\u6216\u662f DevSecOps \u61c9\u7528\u7a0b\u5f0f\u5b89\u5168\u958b\u767c\uff09\u800c\u8a00\uff0cHTTP Status Codes\u662f\u7db2\u8def\u6d41\u91cf\u4e2d\u6700\u76f4\u89c0\u3001\u4e5f\u6700\u5bcc\u542b\u60c5\u5831\u91cf\u7684\u300c\u7b2c\u4e00\u7dda\u5075\u6e2c\u6307\u6a19\u300d\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u57fa\u672c\u6982\u5ff5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP \u72c0\u614b\u78bc\uff08HTTP Status Code\uff09 \u662f\u4f3a\u670d\u5668\u5728\u56de\u61c9\u7528\u6236\u7aef\uff08\u4f8b\u5982\u700f\u89bd\u5668\u3001App\u3001API \u547c\u53eb\u7aef\uff09\u7684\u8acb\u6c42\u6642\uff0c\u7528\u4f86\u8868\u793a\u300c\u9019\u6b21\u8acb\u6c42\u8655\u7406\u7d50\u679c\u300d\u7684\u4e00\u7d44\u4e09\u4f4d\u6578\u6578\u5b57\u4ee3\u78bc\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7576\u4f60\u5728\u700f\u89bd\u5668\u8f38\u5165\u7db2\u5740\u3001\u9ede\u64ca\u9023\u7d50\uff0c\u6216\u662f\u7a0b\u5f0f\u767c\u9001 API \u8acb\u6c42\u6642\uff0c\u80cc\u5f8c\u5176\u5be6\u662f\u9019\u6a23\u7684\u6d41\u7a0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1.\u7528\u6236\u7aef (Client) \u2500\u2500\u767c\u9001\u8acb\u6c42 (Request)\u2500\u2500> \u4f3a\u670d\u5668 (Server)<br>2.\u7528\u6236\u7aef (Client) &lt;\u2500\u2500\u56de\u50b3\u56de\u61c9 (Response)\u2500\u2500 \u4f3a\u670d\u5668 (Server)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f3a\u670d\u5668\u5728\u56de\u61c9\uff08Response\uff09\u7684\u958b\u982d\uff0c\u5c31\u6703\u9644\u4e0a\u4e00\u500b\u72c0\u614b\u78bc\uff0c\u8b93\u7528\u6236\u7aef\u77e5\u9053\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8acb\u6c42\u6210\u529f\u4e86\u55ce\uff1f<\/li>\n\n\n\n<li>\u9700\u8981\u505a\u4ec0\u9ebc\u5f8c\u7e8c\u52d5\u4f5c\u55ce\uff1f<\/li>\n\n\n\n<li>\u662f\u6211\uff08\u7528\u6236\u7aef\uff09\u7684\u554f\u984c\uff0c\u9084\u662f\u4f3a\u670d\u5668\u7684\u554f\u984c\uff1f<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u72c0\u614b\u78bc\u7528\u9014<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u6c92\u6709\u72c0\u614b\u78bc\uff0c\u7528\u6236\u7aef\u5c31\u7121\u6cd5\u300c\u81ea\u52d5\u5224\u65b7\u300d\u8acb\u6c42\u5230\u5e95\u6210\u529f\u9084\u662f\u5931\u6557\uff0c\u53ea\u80fd\u9760\u4eba\u773c\u53bb\u770b\u56de\u50b3\u7684\u5167\u5bb9\uff0c\u9019\u5c0d\u7a0b\u5f0f\u4f86\u8aaa\u975e\u5e38\u4e0d\u65b9\u4fbf\u3002\u6709\u4e86\u6a19\u6e96\u5316\u7684\u72c0\u614b\u78bc\uff0c\u700f\u89bd\u5668\u3001\u7a0b\u5f0f\u3001API \u90fd\u80fd\u4f9d\u7167\u7d71\u4e00\u898f\u5247\u4f86\u8655\u7406\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u700f\u89bd\u5668\u770b\u5230 <code>404<\/code>\uff0c\u6703\u986f\u793a\u300c\u627e\u4e0d\u5230\u7db2\u9801\u300d<\/li>\n\n\n\n<li>\u7a0b\u5f0f\u770b\u5230 <code>401<\/code>\uff0c\u6703\u81ea\u52d5\u8df3\u8f49\u53bb\u767b\u5165\u9801<\/li>\n\n\n\n<li>\u4e0b\u8f09\u5de5\u5177\u770b\u5230 <code>206<\/code>\uff0c\u77e5\u9053\u53ef\u4ee5\u7e8c\u50b3<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e94\u5927\u985e\u72c0\u614b\u78bc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u72c0\u614b\u78bc\u7531\u4e09\u4f4d\u6578\u5b57\u7d44\u6210\uff0c\u7b2c\u4e00\u4f4d\u6578\u5b57\u6c7a\u5b9a\u5b83\u5c6c\u65bc\u54ea\u500b\u5927\u985e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u958b\u982d<\/th><th>\u985e\u5225<\/th><th>\u610f\u7fa9<\/th><\/tr><\/thead><tbody><tr><td><strong>1xx<\/strong><\/td><td>\u8cc7\u8a0a\u6027 (Informational)<\/td><td>\u8acb\u6c42\u5df2\u6536\u5230\uff0c\u4ecd\u5728\u8655\u7406\u4e2d<\/td><\/tr><tr><td><strong>2xx<\/strong><\/td><td>\u6210\u529f (Success)<\/td><td>\u8acb\u6c42\u6210\u529f\u8655\u7406<\/td><\/tr><tr><td><strong>3xx<\/strong><\/td><td>\u91cd\u65b0\u5c0e\u5411 (Redirection)<\/td><td>\u9700\u8981\u9032\u4e00\u6b65\u52d5\u4f5c\uff08\u5982\u8df3\u8f49\uff09<\/td><\/tr><tr><td><strong>4xx<\/strong><\/td><td>\u7528\u6236\u7aef\u932f\u8aa4 (Client Error)<\/td><td>\u8acb\u6c42\u672c\u8eab\u6709\u554f\u984c<\/td><\/tr><tr><td><strong>5xx<\/strong><\/td><td>\u4f3a\u670d\u5668\u932f\u8aa4 (Server Error)<\/td><td>\u4f3a\u670d\u5668\u8655\u7406\u6642\u51fa\u932f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u9019\u5957\u6a19\u6e96\u662f\u7531 IETF \u5236\u5b9a\u4e26\u8a18\u9304\u5728 RFC \u6587\u4ef6\u4e2d\uff08\u4e3b\u8981\u662f RFC 9110\uff09\uff0c\u76ee\u524d\u4e3b\u6d41\u700f\u89bd\u5668\u3001Web \u4f3a\u670d\u5668\u3001API \u6846\u67b6\u5e7e\u4e4e\u90fd\u9075\u5faa\u9019\u5957\u898f\u7bc4\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2xx &#8211; \u6210\u529f (Success)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u793a\u8acb\u6c42\u5df2\u88ab\u4f3a\u670d\u5668\u6210\u529f\u63a5\u6536\u4e26\u8655\u7406\uff0c\u5e38\u898b\u6709\u4ee5\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>200 OK<\/strong>\uff1a\u8acb\u6c42\u6210\u529f\uff0c\u6700\u5e38\u898b\u7684\u72c0\u614b\u78bc<\/li>\n\n\n\n<li><strong>201 Created<\/strong>\uff1a\u8acb\u6c42\u6210\u529f\u4e14\u5efa\u7acb\u4e86\u65b0\u8cc7\u6e90\uff08\u5e38\u7528\u65bc POST\uff09<\/li>\n\n\n\n<li><strong>204 No Content<\/strong>\uff1a\u8acb\u6c42\u6210\u529f\uff0c\u4f46\u6c92\u6709\u56de\u50b3\u5167\u5bb9\uff08\u5e38\u7528\u65bc DELETE\uff09<\/li>\n\n\n\n<li><strong>206 Partial Content<\/strong>\uff1a\u53ea\u56de\u50b3\u8cc7\u6e90\u7684\u90e8\u5206\u5167\u5bb9<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 200 &#8211; OK<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u8acb\u6c42\u5df2\u6210\u529f\u8655\u7406\uff0c\u4f3a\u670d\u5668\u4f9d\u64da\u8acb\u6c42\u5167\u5bb9\u50b3\u56de\u5c0d\u61c9\u7684\u8cc7\u6599\u6216\u8655\u7406\u7d50\u679c\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 95%\uff08\u5e38\u614b\u696d\u52d9\u6d41\u91cf\u3001\u975c\u614b\u8cc7\u6e90\u8f09\u5165\u3001\u4e00\u822c API \u6b63\u5e38\u8abf\u7528\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 5%\uff08L7 CC \u653b\u64ca\u8017\u76e1\u8cc7\u6e90\uff0c\u6216\u66b4\u529b\u7834\u89e3\/\u6191\u8b49\u586b\u5145\u6210\u529f\u7e5e\u904e\u9a57\u8b49\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u8acb\u6c42\u5747\u52fb\u5206\u6563\u65bc\u7db2\u7ad9\u9801\u9762\u3001\u975c\u614b\u8cc7\u6e90\u8207\u5e38\u614b API\uff1bIP \u4f86\u6e90\u5ee3\u6cdb\u4e14\u7b26\u5408\u771f\u5be6\u4f7f\u7528\u8005\u700f\u89bd\u884c\u70ba\u8207\u6642\u6bb5\u8d77\u4f0f\uff1b\u56de\u61c9\u6642\u9593\u8207\u6d41\u91cf\u9ad4\u7a4d\u7dad\u6301\u5728\u6b63\u5e38\u57fa\u6e96\u7dda\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u5927\u91cf\u8acb\u6c42\u9ad8\u5ea6\u96c6\u4e2d\u65bc\u9ad8\u904b\u7b97 API\uff08\u5982\u641c\u5c0b\u3001\u8907\u96dc\u5831\u8868\uff09\u6216\u767b\u5165\u7aef\u9ede\uff1b\u4f86\u81ea\u5c11\u6578 IP \u9ad8\u983b\u767c\u9001\uff0c\u6216 Botnet \u4ee5\u6975\u56fa\u5b9a\u4f75\u767c\u7bc0\u594f\u5b58\u53d6\uff1b\u767b\u5165 API \u5728\u5927\u91cf 200 \u56de\u61c9\u4e2d\u4f34\u96a8\u6301\u7e8c\u8b8a\u5316\u7684\u5e33\u5bc6 Payload\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1aL7 HTTP Flood \/ CC \u653b\u64ca\u3001\u66b4\u529b\u7834\u89e3\u6210\u529f\uff08Successful Brute Force\uff09\u3002\u653b\u64ca\u8005\u767c\u9001\u5927\u91cf\u5408\u6cd5\u8acb\u6c42\u8017\u76e1\u4f3a\u670d\u5668 CPU\u3001\u8a18\u61b6\u9ad4\u6216\u8cc7\u6599\u5eab\uff1b\u6216\u662f\u81ea\u52d5\u5316\u8173\u672c\u649e\u5eab\u6210\u529f\uff0c\u4f3a\u670d\u5668\u56de\u50b3 200 \u8207 Token\uff0c\u4ee3\u8868\u5df2\u5165\u4fb5\u6210\u529f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728 WAF \/ API Gateway \u8a2d\u5b9a Rate Limiting \u8207 IP \u9650\u5236\u3002<\/li>\n\n\n\n<li>\u5c0d\u767b\u5165\u8207\u9ad8\u8017\u80fd API \u5f37\u5236\u555f\u7528\u9a57\u8b49\u78bc\uff08CAPTCHA\uff09\u6216\u591a\u56e0\u7d20\u9a57\u8b49\uff08MFA\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 204 &#8211; No Content<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u8acb\u6c42\u5df2\u6210\u529f\u8655\u7406\uff0c\u4f46\u4f3a\u670d\u5668\u610f\u5716\u4e0d\u50b3\u56de\u4efb\u4f55 Response Body\uff08\u5e38\u898b\u65bc Ajax \u8de8\u57df\u9810\u6aa2\u8207\u6578\u64da\u6253\u9ede\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 98%\uff08SPA \u6846\u67b6\u81ea\u52d5\u767c\u8d77\u7684 CORS OPTIONS \u9810\u6aa2\u3001\u524d\u7aef\u57cb\u9ede\/\u7d71\u8a08 Analytics Beacon\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 2%\uff08\u5229\u7528\u672a\u6388\u6b0a API \u9032\u884c\u6279\u91cf\u6578\u64da\u522a\u9664\uff0c\u6216 CORS \u9632\u706b\u7246\u63a2\u91dd\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u8acb\u6c42\u65b9\u6cd5\u591a\u70ba\u524d\u7aef\u700f\u89bd\u5668\u81ea\u52d5\u767c\u8d77\u7684 CORS OPTIONS \u9810\u6aa2\uff0c\u6216\u662f\u9801\u9762\u64cd\u4f5c\u6642\u89f8\u767c\u7684\u80cc\u666f\u6578\u64da\u6253\u9ede\uff0c\u8acb\u6c42\u983b\u7387\u8207\u4f7f\u7528\u8005\u700f\u89bd\u884c\u70ba\u5448\u73fe\u6b63\u76f8\u95dc\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u5927\u91cf\u8acb\u6c42\u96c6\u4e2d\u65bc\u8cc7\u6599\u522a\u9664\uff08DELETE\uff09\u6216\u6279\u91cf\u66f4\u65b0\uff08PUT\uff09\u7aef\u9ede\uff1b\u6216\u81ea\u52d5\u5316\u8173\u672c\u5728\u77ed\u6642\u9593\u5167\u767c\u9001\u6975\u5927\u91cf\u7121\u6548\u7684 OPTIONS \u8de8\u57df\u8acb\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u672a\u6388\u6b0a\u6279\u91cf\u522a\u9664\uff08Unauthorized Mass Deletion \/ BOLA\uff09\u3001CORS \u9632\u706b\u7246\u63a2\u91dd\u3002\u653b\u64ca\u8005\u5229\u7528\u672a\u9069\u7576\u9451\u6b0a\u7684 API \u6f0f\u6d1e\uff0c\u900f\u904e\u81ea\u52d5\u5316\u8173\u672c\u6279\u91cf\u767c\u9001 DELETE \u8acb\u6c42\u6e05\u7a7a\u8cc7\u6599\u5eab\uff1b\u6216\u9ad8\u983b\u767c\u9001 OPTIONS \u9032\u884c\u8de8\u57df\u63a2\u91dd\u8207\u8cc7\u6e90\u6d88\u8017\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u56b4\u683c\u5be6\u65bd API \u8cc7\u6e90\u5c64\u7d1a\u7684\u6b0a\u9650\u9a57\u8b49\uff08Broken Object Level Authorization \u9632\u8b77\uff09\u3002<\/li>\n\n\n\n<li>\u5728 API Gateway \u5c64\u91dd\u5c0d\u7121\u6548 OPTIONS \u8acb\u6c42\u9032\u884c\u901f\u7387\u9650\u5236\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 206 &#8211; Partial Content<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u4f3a\u670d\u5668\u5df2\u6210\u529f\u8655\u7406\u90e8\u5206 GET \u8acb\u6c42\uff0c\u50c5\u50b3\u56de\u8cc7\u6e90\u7684\u7279\u5b9a\u5340\u6bb5\uff08\u5e38\u7528\u65bc\u5f71\u97f3\u4e32\u6d41\u8207\u65b7\u9ede\u7e8c\u50b3\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 95%\uff08\u5f71\u97f3\u7db2\u7ad9\u64ad\u653e\u3001\u5927\u6a94\u6848\u5206\u6bb5\u4e0b\u8f09\u6216\u4e0b\u8f09\u4e2d\u65b7\u5f8c\u7e8c\u50b3\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 5%\uff08\u767c\u9001\u6975\u5ea6\u6df7\u4e82\u6216\u91cd\u758a\u7684 Range Header \u9032\u884c Range Header DoS \u653b\u64ca\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u96c6\u4e2d\u65bc\u5f71\u97f3\u6216\u5927\u6a94\u4e0b\u8f09\u670d\u52d9\uff0c\u8acb\u6c42 Header \u4e2d\u7684 Range \u70ba\u9023\u7e8c\u4e14\u5408\u7406\u7684\u4f4d\u5143\u7d44\u5340\u6bb5\uff08\u5982 <code>bytes=0-1023<\/code>\uff09\uff0c\u4f3a\u670d\u5668 CPU \u8207\u8a18\u61b6\u9ad4\u6d88\u8017\u5e73\u7a69\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u8acb\u6c42 Header \u4e2d\u7684 Range \u5305\u542b\u5927\u91cf\u91cd\u8907\u3001\u91cd\u758a\u3001\u6975\u591a\u6df7\u4e82\u7684\u5c0f\u5340\u6bb5\u6216\u7570\u5e38\u6578\u503c\uff0c\u4e14\u4f34\u96a8\u4f3a\u670d\u5668\u8a18\u61b6\u9ad4\u8207 CPU \u77ac\u9593\u98c6\u5347\u81f3 100%\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1aRange Header DoS \u653b\u64ca\uff08\u6b64\u985e\u624b\u6cd5\u5728\u65e9\u671f Apache \u66fe\u6709\u77e5\u540d\u6f0f\u6d1e\u6848\u4f8b\uff0c\u4fd7\u7a31 Apache Killer\uff09\u3002\u653b\u64ca\u8005\u5728\u8acb\u6c42\u4e2d\u69cb\u9020\u6975\u5176\u8907\u96dc\u6216\u5927\u91cf\u91cd\u758a\u7684 Range \u7bc4\u570d\uff0c\u8feb\u4f7f\u4f3a\u670d\u5668\u5728\u8a18\u61b6\u9ad4\u4e2d\u9032\u884c\u591a\u6b21\u6a94\u6848\u5207\u5272\u8207\u91cd\u7d44\uff0c\u5c0e\u81f4\u8a18\u61b6\u9ad4\u7206\u6eff\u8207 CPU \u8017\u76e1\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7bc4\u4f8b<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>GET \/large-archive.zip HTTP\/1.1\nHost: example.com\nRange: bytes=0-,5-1,5-2,5-3,5-4,5-5,5-6...<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728 Web \u4f3a\u670d\u5668\uff08Nginx\/Apache\uff09\u4e0a\u9650\u5236\u55ae\u4e00\u8acb\u6c42\u4e2d Range \u5340\u6bb5\u7684\u6700\u5927\u6578\u91cf\uff08\u5982\u9650\u5236\u6700\u5927 5 \u500b\uff09\u3002<\/li>\n\n\n\n<li>\u66f4\u65b0 Web \u4f3a\u670d\u5668\u81f3\u5df2\u4fee\u88dc\u6b77\u53f2 Range Header \u6f0f\u6d1e\u7684\u7248\u672c\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3xx &#8211; \u91cd\u65b0\u5c0e\u5411 (Redirection)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u793a\u9700\u8981\u9032\u4e00\u6b65\u7684\u52d5\u4f5c\u624d\u80fd\u5b8c\u6210\u8acb\u6c42\uff0c\u901a\u5e38\u662f\u8df3\u8f49\u5230\u53e6\u4e00\u500b\u7db2\u5740\uff0c\u5e38\u898b\u7684\u6709\u4ee5\u4e0b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>301 Moved Permanently<\/strong>\uff1a\u8cc7\u6e90\u6c38\u4e45\u642c\u79fb\u5230\u65b0\u7db2\u5740<\/li>\n\n\n\n<li><strong>302 Found<\/strong>\uff1a\u8cc7\u6e90\u66ab\u6642\u642c\u79fb<\/li>\n\n\n\n<li><strong>304 Not Modified<\/strong>\uff1a\u8cc7\u6e90\u672a\u8b8a\u66f4\uff0c\u53ef\u4f7f\u7528\u5feb\u53d6\u7248\u672c<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 304 &#8211; Not Modified<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u8acb\u6c42\u7684\u8cc7\u6e90\u81ea\u4e0a\u6b21\u5b58\u53d6\u5f8c\u4e26\u672a\u8b8a\u66f4\uff0c\u6307\u793a\u5ba2\u6236\u7aef\u76f4\u63a5\u8b80\u53d6\u672c\u5730\u5feb\u53d6\u4ee5\u7bc0\u7701\u983b\u5bec\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 90%\uff08\u4f7f\u7528\u8005\u700f\u89bd\u9801\u9762\u6642\uff0c\u700f\u89bd\u5668\u5c0d\u975c\u614b\u6a94\u6848\u9032\u884c\u5feb\u53d6\u9a57\u8b49\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 10%\uff08\u653b\u64ca\u8005\u5229\u7528\u4f4e\u983b\u5bec\u6210\u672c\u767c\u9001\u9ad8\u983b\u5feb\u53d6\u9a57\u8b49\u8acb\u6c42\u9032\u884c\u8cc7\u6e90\u8017\u76e1\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u8acb\u6c42\u76ee\u6a19\u96c6\u4e2d\u5728 <code>.css<\/code>\u3001<code>.js<\/code>\u3001<code>.png<\/code> \u7b49\u975c\u614b\u6a94\u6848\uff1bIP \u5206\u4f48\u5ee3\u6cdb\uff1b\u4e14\u8a72 IP \u5728\u51fa\u73fe 304 \u524d\u66fe\u6709\u904e\u5148\u53d6\u5f97\u8cc7\u6e90\u7684 200 OK \u7d00\u9304\uff0c\u7db2\u8def\u51fa\u65b9\u5411\u983b\u5bec\u4f4e\u4e14 CPU\/\u8cc7\u6599\u5eab\u8ca0\u8f09\u5e73\u7a69\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u8acb\u6c42\u96c6\u4e2d\u5728\u52d5\u614b API \u7aef\u9ede\uff08\u5982 <code>\/api\/v1\/users<\/code>\uff09\uff1b\u7121\u524d\u7f6e 200 OK \u7d00\u9304\uff08\u6301\u786c\u7de8\u78bc ETag \u76f2\u6253\uff09\uff1b\u55ae\u4e00 IP \u6975\u9ad8\u983b\u767c\u9001\u6216 If-None-Match \u503c\u9577\u671f\u56fa\u5b9a\uff1b\u4f3a\u670d\u5668\u983b\u5bec\u6975\u4f4e\u4f46 CPU \u4f7f\u7528\u7387\u98c6\u5347\u3001\u8cc7\u6599\u5eab Connection Pool \u88ab\u5360\u6eff\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u6b64\u8655\u59d1\u4e14\u7a31\u70ba\u300c\u5feb\u53d6\u9a57\u8b49\u8cc7\u6e90\u8017\u76e1\u653b\u64ca\u300d\uff08<strong>\u6b64\u70ba\u6982\u5ff5\u6027\u63cf\u8ff0\uff0c\u975e\u696d\u754c\u6b63\u5f0f\u547d\u540d\u7684\u653b\u64ca\u985e\u5225<\/strong>\uff09\u3002\u539f\u7406\u662f\u4f3a\u670d\u5668\u8981\u6c7a\u5b9a\u662f\u5426\u56de\u50b3 304\uff0c\u5fc5\u9808\u5148\u57f7\u884c\u5f8c\u7aef\u908f\u8f2f\u751f\u6210\u7576\u524d\u5167\u5bb9\u518d\u8a08\u7b97 ETag \u6bd4\u5c0d\uff1b\u653b\u64ca\u8005\u5229\u7528\u300c\u4f4e\u4e0a\u884c\u983b\u5bec\u6210\u672c\u3001\u9ad8\u5f8c\u7aef\u7b97\u529b\u6d88\u8017\u300d\u7684\u4e0d\u5c0d\u7a31\u7279\u6027\u8017\u76e1\u4f3a\u670d\u5668\u7b97\u529b\u8207\u9023\u7dda\u6c60\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7bc4\u4f8b<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>GET \/api\/v1\/products\/search?keyword=phone HTTP\/1.1\nHost: example.com\nUser-Agent: python-requests\/2.31.0\nIf-None-Match: \"w\/9876543210\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u975c\u614b\u8cc7\u6e90\u6539\u7531 CDN\/\u53cd\u5411\u4ee3\u7406\u76f4\u63a5\u8655\u7406\u5feb\u53d6\u6bd4\u5c0d\uff0c\u907f\u514d\u8acb\u6c42\u7a7f\u900f\u81f3\u5f8c\u7aef\u61c9\u7528\u4f3a\u670d\u5668\u3002<\/li>\n\n\n\n<li>\u5c0d\u65bc\u9ad8\u8017\u80fd\u52d5\u614b API \u505c\u7528 ETag \u751f\u6210\uff0c\u6216\u5728 CDN \u5c64\u9032\u884c\u5feb\u53d6\u9632\u8b77\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4xx &#8211; \u7528\u6236\u7aef\u932f\u8aa4 (Client Error)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u793a\u8acb\u6c42\u672c\u8eab\u6709\u554f\u984c\uff0c\u901a\u5e38\u662f\u7528\u6236\u7aef\uff08\u700f\u89bd\u5668\/\u547c\u53eb\u7aef\uff09\u7684\u932f\u8aa4\uff0c\u5e38\u898b\u7684\u6709\u4ee5\u4e0b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>400 Bad Request<\/strong>\uff1a\u8acb\u6c42\u683c\u5f0f\u932f\u8aa4<\/li>\n\n\n\n<li><strong>401 Unauthorized<\/strong>\uff1a\u672a\u7d93\u6388\u6b0a\uff08\u9700\u8981\u767b\u5165\/\u9a57\u8b49\uff09<\/li>\n\n\n\n<li><strong>403 Forbidden<\/strong>\uff1a\u4f3a\u670d\u5668\u62d2\u7d55\u5b58\u53d6\uff08\u6b0a\u9650\u4e0d\u8db3\uff09<\/li>\n\n\n\n<li><strong>404 Not Found<\/strong>\uff1a\u627e\u4e0d\u5230\u8a72\u8cc7\u6e90<\/li>\n\n\n\n<li><strong>405 Method Not Allowed<\/strong>\uff1a\u4f7f\u7528\u4e86\u8a72\u8cc7\u6e90\u4e0d\u652f\u63f4\u7684 HTTP \u65b9\u6cd5\uff08\u4f8b\u5982\u5c0d\u552f\u8b80\u8cc7\u6e90\u767c\u9001 POST\uff09 <\/li>\n\n\n\n<li><strong>409 Conflict<\/strong>\uff1a\u8acb\u6c42\u8207\u4f3a\u670d\u5668\u76ee\u524d\u7684\u8cc7\u6e90\u72c0\u614b\u885d\u7a81\uff08\u4f8b\u5982\u540c\u6642\u7de8\u8f2f\u9020\u6210\u7248\u672c\u885d\u7a81\u3001\u91cd\u8907\u5efa\u7acb\u5df2\u5b58\u5728\u7684\u8cc7\u6e90\uff09 <\/li>\n\n\n\n<li><strong>426 Upgrade Required<\/strong>\uff1a\u4f3a\u670d\u5668\u8981\u6c42\u7528\u6236\u7aef\u5207\u63db\u5230\u4e0d\u540c\u7684\u5354\u5b9a\u624d\u80fd\u7e7c\u7e8c\uff08\u4f8b\u5982\u8981\u6c42\u5f9e HTTP \u5347\u7d1a\u70ba HTTPS \u6216 WebSocket\uff09<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 400 &#8211; Bad Request<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u5ba2\u6236\u7aef\u767c\u9001\u7684\u8acb\u6c42\u5b58\u5728\u8a9e\u6cd5\u932f\u8aa4\u3001\u683c\u5f0f\u4e0d\u7b26\u6216 Header \u7570\u5e38\uff0c\u4f3a\u670d\u5668\u7121\u6cd5\u89e3\u6790\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 70%\uff08\u524d\u7aef\u7a0b\u5f0f\u78bc Bug\u3001API \u7248\u672c\u8b8a\u66f4\u5c0e\u81f4 Request Body \u683c\u5f0f\u4e0d\u76f8\u5bb9\u3001Cookie \u904e\u9577\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 30%\uff08\u81ea\u52d5\u5316\u6383\u63cf\u5668\u9032\u884c Fuzzing \u6e2c\u8a66\u3001\u6ce8\u5165\u7578\u5f62 Payload \u6216\u6e2c\u8a66 HTTP Smuggling\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u591a\u96c6\u4e2d\u5728\u7279\u5b9a\u65b0\u4e0a\u7dda\u6216\u6709 Bug \u7684 API \u8def\u5f91\uff0c\u4e3b\u56e0\u70ba\u524d\u7aef\u7a0b\u5f0f\u78bc Bug\uff08\u5982 JSON \u5c11\u4e86\u96d9\u5f15\u865f\u6216\u578b\u614b\u4e0d\u7b26\uff09\u6216\u820a\u7248 App\/Web \u9801\u9762\u898f\u683c\u4e0d\u76f8\u5bb9\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u8acb\u6c42\u5168\u9762\u6027\u8986\u84cb\u5168\u7ad9\u5404\u500b\u7aef\u9ede\uff1bPayload \u6216 Header \u5e36\u6709 SQL \u8a9e\u6cd5\u7b26\u865f\u3001\u8173\u672c\u6a19\u7c64\uff08&lt;script&gt;\uff09\u3001\u904e\u9577\/\u7578\u5f62 Header\uff0c\u6216\u975e UTF-8 \u8b8a\u78bc\u5b57\u5143\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1aWeb \u81ea\u52d5\u5316\u6a21\u7cca\u6e2c\u8a66\uff08Fuzzing\uff09\u3001\u6f0f\u6d1e\u6383\u63cf\u3001HTTP Desync \/ Request Smuggling \u524d\u7f6e\u6e2c\u8a66\u3002\u653b\u64ca\u8005\u5229\u7528\u5de5\u5177\u6ce8\u5165\u7570\u5e38\u5b57\u5143\u3001\u7578\u5f62 Payload\u3001\u904e\u9577 Header\uff0c\u8a66\u5716\u5c0b\u627e\u7cfb\u7d71\u672a\u8655\u7406\u7684\u4f8b\u5916\u3001\u6bc0\u640d\u89e3\u6790\u5668\u6216\u6e2c\u8a66 HTTP \u8d70\u79c1\u6f0f\u6d1e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7bc4\u4f8b<\/strong>\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>POST \/api\/v1\/user HTTP\/1.1\nHost: example.com\nX-Custom-Header: %00%0d%0a\nContent-Length: -1\n\n{\"username\": \"admin' OR '1'='1\"}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728 WAF \u8a2d\u5b9a\u56b4\u683c\u7684 Request Validation \u8207\u7570\u5e38\u5b57\u5143\u904e\u6ffe\u898f\u5247\u3002<\/li>\n\n\n\n<li>\u963b\u65b7\u9023\u7e8c\u89f8\u767c\u5927\u91cf 400 \u932f\u8aa4\u7684\u4f86\u6e90 IP\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 401 &#8211; Unauthorized<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u8acb\u6c42\u7f3a\u4e4f\u6709\u6548\u7684\u8eab\u4efd\u9a57\u8b49\u6191\u8b49\uff0c\u6216\u662f\u8eab\u4efd\u9a57\u8b49\u5931\u6557\uff08\u9700\u8981\u767b\u5165\u6216\u63d0\u4f9b Token\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 60%\uff08\u4f7f\u7528\u8005 Session \u904e\u671f\u5f8c\u524d\u7aef\u672a\u9069\u7576\u8df3\u8f49\u767b\u5165\u9801\uff0c\u5c0e\u81f4\u80cc\u666f\u8f2a\u8a62 API \u6301\u7e8c\u62cb\u932f\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 40%\uff08\u81ea\u52d5\u5316\u9ed1\u5ba2\u5de5\u5177\u767c\u52d5\u66b4\u529b\u7834\u89e3\u6216\u6191\u8b49\u586b\u5145\u653b\u64ca\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u8acb\u6c42\u591a\u96c6\u4e2d\u5728\u4e00\u822c\u696d\u52d9 API\uff0c\u4e3b\u56e0\u662f\u4f7f\u7528\u8005 Session \u904e\u671f\u5f8c\u524d\u7aef\u672a\u9069\u7576\u8df3\u8f49\u767b\u5165\u9801\uff0c\u5c0e\u81f4\u76f8\u540c\u7684\u904e\u671f Token \u5728\u80cc\u666f\u91cd\u8907\u9001\u51fa\uff08\u8a08\u6642\u5668\u6b7b\u8ff4\u5708\uff09\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u8acb\u6c42\u9ad8\u5ea6\u96c6\u4e2d\u5728\u767b\u5165\u9a57\u8b49\u7aef\u9ede\uff08<code>\/api\/auth\/login<\/code>\uff09\uff1bPayload \u4e2d\u7684\u5e33\u865f\u6216\u5bc6\u78bc\u6b04\u4f4d\u6301\u7e8c\u8b8a\u52d5\uff0c\u4e14\u8acb\u6c42\u5e38\u4f86\u81ea\u5927\u91cf\u5206\u6563\u7684 IP\uff08Botnet\uff09\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u66b4\u529b\u7834\u89e3\uff08Brute Force\uff09\u3001\u6191\u8b49\u586b\u5145\uff08Credential Stuffing\uff09\u2014\u2014\u9019\u5169\u8005\u70ba\u696d\u754c\u901a\u7528\u8853\u8a9e\u3002\u653b\u64ca\u8005\u6301\u5b57\u5178\u6a94\u5617\u8a66\u7206\u7834\u5e33\u5bc6\uff0c\u6216\u4f7f\u7528\u5916\u6d29\u7684\u5e33\u5bc6\u5eab\u9032\u884c\u6279\u91cf\u81ea\u52d5\u5316\u6e2c\u8a66\uff0c\u5617\u8a66\u7372\u53d6\u5408\u6cd5\u5b58\u53d6\u6b0a\u9650\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u91dd\u5c0d\u767b\u5165\u7aef\u9ede\u90e8\u7f72 Account Lockout \u6a5f\u5236\u8207 IP \u7d1a\u5225 Rate Limiting\u3002<\/li>\n\n\n\n<li>\u5f15\u5165\u6191\u8b49\u586b\u5145\u9632\u8b77\uff08Credential Stuffing Protection\uff09\u8207\u4eba\u6a5f\u9a57\u8b49\uff08CAPTCHA\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 403 &#8211; Forbidden<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u4f3a\u670d\u5668\u7406\u89e3\u8acb\u6c42\uff0c\u4f46\u62d2\u7d55\u63d0\u4f9b\u5b58\u53d6\u6b0a\u9650\uff08\u5df2\u78ba\u8a8d\u8eab\u4efd\u4f46\u6b0a\u9650\u4e0d\u8db3\uff0c\u6216\u88ab WAF \u9632\u706b\u7246\u963b\u65b7\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 30%\uff08\u4f7f\u7528\u8005\u5b58\u53d6\u672a\u6388\u6b0a\u9801\u9762\u3001\u4f3a\u670d\u5668\u5167\u90e8\u6a94\u6848\u6b0a\u9650\u914d\u7f6e\u932f\u8aa4\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 70%\uff08\u653b\u64ca\u8005\u63a2\u6e2c\u654f\u611f\u76ee\u9304\u3001\u8d8a\u6b0a\u5b58\u53d6\uff0c\u6216 WAF \u7cbe\u6e96\u6514\u622a\u60e1\u610f\u653b\u64ca Payload\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u591a\u70ba\u4f7f\u7528\u8005\u9ede\u64ca\u4e86\u6b0a\u9650\u4e0d\u8db3\u7684\u9801\u9762\uff0c\u6216\u662f\u7cfb\u7d71\u6a94\u6848\u76ee\u9304\u6b0a\u9650\uff08Directory Permission\uff09\u914d\u7f6e\u932f\u8aa4\uff0c\u89f8\u767c\u9ede\u96f6\u661f\u4e14\u96a8\u6a5f\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u8acb\u6c42\u96c6\u4e2d\u5728\u654f\u611f\u7cfb\u7d71\u76ee\u9304\uff08<code>\/.git<\/code>\u3001<code>\/admin<\/code>\u3001<code>\/.env<\/code>\uff09\uff1b\u8acb\u6c42\u53c3\u6578\u5e38\u542b\u6709\u8de8\u7ad9\u8173\u672c\uff08XSS\uff09\u3001SQL \u6ce8\u5165\u7b49\u60e1\u610f\u7279\u5fb5\uff1b\u6216 Response \u65e5\u8a8c\u4e2d\u5e36\u6709 WAF\uff08\u5982 Cloudflare, ModSecurity\uff09\u6514\u622a\u6a19\u8a18\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u654f\u611f\u76ee\u9304\u63a2\u6e2c\u3001\u8d8a\u6b0a\u5b58\u53d6\u5617\u8a66\uff08IDOR\/BOLA\uff09\u3001WAF \u5927\u91cf\u6514\u622a\u60e1\u610f\u653b\u64ca\u3002\u653b\u64ca\u8005\u5617\u8a66\u5b58\u53d6\u672a\u6388\u6b0a\u7684\u5f8c\u53f0\u6216\u654f\u611f\u6a94\u6848\uff1b\u6216\u662f\u653b\u64ca\u8005\u767c\u9001\u7684 SQLi\/XSS Payload \u88ab\u9632\u706b\u7246\u7cbe\u6e96\u5075\u6e2c\u4e26\u963b\u65b7\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5be9\u8996\u76ee\u9304\u5b89\u5168\u8207 <code>.env<\/code> \/ <code>.git<\/code> \u7b49\u654f\u611f\u8cc7\u6e90\u7684\u5b58\u53d6\u7ba1\u5236\uff08Web Server Level Deny\uff09\u3002<\/li>\n\n\n\n<li>\u82e5\u70ba WAF \u6514\u622a\uff0c\u6301\u7e8c\u7dad\u8b77\u898f\u5247\u4e26\u5c01\u9396\u9ad8\u98a8\u96aa\u60e1\u610f IP\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 404 &#8211; Not Found<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u4f3a\u670d\u5668\u627e\u4e0d\u5230\u8acb\u6c42\u7684\u76ee\u6a19\u8cc7\u6e90\u6216\u7db2\u9801\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 50%\uff08\u7db2\u7ad9\u6b7b\u9023\u7d50 Dead Links\u3001\u524d\u7aef\u975c\u614b\u8cc7\u6e90\u8def\u5f91\u5f15\u7528\u932f\u8aa4\u3001\u6539\u7248\u672a\u8a2d\u5b9a 301 \u8f49\u5740\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 50%\uff08\u81ea\u52d5\u5316\u6383\u63cf\u5668\u9032\u884c\u654f\u611f\u8def\u5f91\u7206\u7834\u3001\u6a94\u6848\u679a\u8209\u8207\u5f31\u9ede\u6383\u63cf\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u591a\u70ba\u7db2\u7ad9\u6b7b\u9023\u7d50\uff08Dead Links\uff09\u3001\u975c\u614b\u8cc7\u6e90\u8def\u5f91\u5f15\u7528\u932f\u8aa4\uff0c\u6216\u7db2\u7ad9\u6539\u7248\u672a\u8a2d\u5b9a 301 \u8f49\u5740\uff0c\u89f8\u767c\u983b\u7387\u8207\u4f7f\u7528\u8005\u9ede\u64ca\u6b63\u76f8\u95dc\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u8acb\u6c42\u5927\u91cf\u4e0d\u5b58\u5728\u7684\u5f8c\u53f0\u3001\u8173\u672c\u540d\u7a31\u6216\u5099\u4efd\u6a94\u540d\uff08\u5982 <code>\/wp-admin<\/code>\u3001<code>\/backup.zip<\/code>\uff09\uff0c\u4e14\u7531\u81ea\u52d5\u5316\u6383\u63cf\u5668\uff08\u5982 Gobuster, dirsearch\uff09\u4ee5\u7570\u5e38\u9ad8\u983b\u9023\u7e8c\u7206\u7834\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u8def\u5f91\u8207\u654f\u611f\u6a94\u6848\u63a2\u6e2c\uff08Web Path \/ Sensitive File Discovery\uff09\u3002\u653b\u64ca\u8005\u4f7f\u7528\u5b57\u5178\u6a94\u7206\u7834\u679a\u8209\u96b1\u85cf\u8def\u5f91\u3001\u5f8c\u53f0\u767b\u5165\u9801\u3001\u6b98\u7559\u7684\u539f\u59cb\u78bc\u5099\u4efd\u6a94\u6216\u5df2\u77e5\u6f0f\u6d1e\u5957\u4ef6\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u90e8\u7f72 Fail2ban \u6216 WAF \u81ea\u52d5\u5c01\u9396\u77ed\u6642\u9593\u5167\u89f8\u767c\u5927\u91cf 404 \u932f\u8aa4\u7684 IP\u3002<\/li>\n\n\n\n<li>\u5728\u7db2\u95dc\u5c64\u6a21\u7cca\u5316\u654f\u611f\u8def\u5f91\u56de\u61c9\uff0c\u907f\u514d\u6d29\u6f0f\u5f8c\u7aef\u6280\u8853\u68e7\u8cc7\u8a0a\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 405 &#8211; Method Not Allowed<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u8acb\u6c42\u4f7f\u7528\u7684 HTTP \u65b9\u6cd5\uff08GET, POST, PUT, DELETE \u7b49\uff09\u4e0d\u88ab\u8a72\u76ee\u6a19\u8cc7\u6e90\u652f\u63f4\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 80%\uff08\u524d\u7aef\u5de5\u7a0b\u5e2b API \u547c\u53eb\u5beb\u932f\uff0c\u5982 POST \u932f\u5beb\u6210 GET\uff0c\u6216\u5c0d\u975c\u614b\u6a94\u767c\u9001 POST\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 20%\uff08\u9ed1\u5ba2\u9032\u884c HTTP Method Tampering \u6e2c\u8a66\uff0c\u5617\u8a66\u7e5e\u904e ACL \u6216\u6e2c\u8a66 TRACE \u6f0f\u6d1e\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u591a\u70ba\u524d\u7aef\u958b\u767c\u8005\u5beb\u932f API \u8abf\u7528\u65b9\u5f0f\uff08\u5982\u628a POST \u932f\u5beb\u6210 GET\uff0c\u6216\u5c0d\u975c\u614b\u6a94\u767c\u9001 POST\uff09\uff0c\u96c6\u4e2d\u5728\u7279\u5b9a API \u7aef\u9ede\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u5927\u91cf\u4f7f\u7528\u8a72\u7aef\u9ede\u539f\u672c\u4e0d\u652f\u63f4\u3001\u4e14\u975e\u5178\u578b REST \u64cd\u4f5c\u7684 HTTP \u65b9\u6cd5\uff08\u5982 <code>TRACE<\/code>\u3001<code>CONNECT<\/code>\u3001<code>PROPFIND<\/code> \u7b49 WebDAV\/\u9664\u932f\u7528\u65b9\u6cd5\uff09\uff0c\u4e14\u91dd\u5c0d\u5168\u7ad9\u591a\u500b\u7aef\u9ede\u9032\u884c\u5730\u6bef\u5f0f\u6e2c\u8a66\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1aHTTP \u65b9\u6cd5\u7ac4\u6539\uff08Method Tampering\uff09\u3001TRACE \u6f0f\u6d1e\u63a2\u91dd\uff08\u8de8\u7ad9\u8ffd\u8e64 \/ Cross-Site Tracing, XST\uff0c\u5c6c\u5df2\u77e5\u6f0f\u6d1e\u985e\u5225\uff09\u3002\u653b\u64ca\u8005\u5617\u8a66\u5229\u7528\u7f55\u898b Method \u7e5e\u904e\u57fa\u65bc\u7279\u5b9a Method \u8a2d\u5b9a\u7684\u9632\u706b\u7246 ACL \u898f\u5247\uff0c\u6216\u6e2c\u8a66\u4f3a\u670d\u5668\u662f\u5426\u958b\u555f\u4e0d\u5b89\u5168\u7684 TRACE \u529f\u80fd\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728 Web \u4f3a\u670d\u5668\u5168\u5c40\u505c\u7528\u4e0d\u5fc5\u8981\u7684 HTTP \u65b9\u6cd5\uff08\u5982\u505c\u7528 TRACE\u3001TRACK \u7b49\u5371\u96aa\u65b9\u6cd5\uff09\uff0c\u4e26\u78ba\u4fdd\u8de8\u57df\u7aef\u9ede\u4f9d\u9700\u6c42\u7cbe\u6e96\u958b\u653e OPTIONS\uff0c\u5404\u8cc7\u6e90\u7aef\u9ede\u4f9d REST \u8a2d\u8a08\u7cbe\u6e96\u958b\u653e\u5176\u5be6\u969b\u9700\u8981\u7684 PUT\/PATCH\/DELETE\u3002<\/li>\n\n\n\n<li>\u5728\u8def\u7531\u5c64\u7cbe\u6e96\u9650\u5236\u6bcf\u500b\u7aef\u9ede\u50c5\u5141\u8a31\u5408\u6cd5\u7684 HTTP Method\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 409 &#8211; Conflict<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u8acb\u6c42\u8207\u76ee\u6a19\u8cc7\u6e90\u7576\u524d\u7684\u4f3a\u670d\u5668\u72c0\u614b\u767c\u751f\u885d\u7a81\uff08\u5982\u91cd\u8907\u8a3b\u518a\u3001\u8cc7\u6599\u7248\u672c\u4e0d\u4e00\u81f4\uff09\uff0c\u5c0e\u81f4\u4f3a\u670d\u5668\u7121\u6cd5\u57f7\u884c\u8a72\u8acb\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 80%\uff08\u4f7f\u7528\u8005\u624b\u52d5\u9023\u7e8c\u9ede\u64ca\u6309\u9215\u3001\u524d\u7aef\u7f3a\u4e4f\u9632\u91cd\u8907\u9ede\u64ca\u6a5f\u5236\uff0c\u6216\u9ad8\u4f75\u767c\u4e0b\u7684\u8cc7\u6599\u5eab\u6a02\u89c0\u9396\u6bd4\u5c0d\u5931\u6557\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 20%\uff08\u81ea\u52d5\u5316\u8173\u672c\u5229\u7528\u4f75\u767c\u8acb\u6c42\u5617\u8a66\u6436\u8cfc\u3001\u91cd\u8907\u514c\u63db\u512a\u60e0\u5238\u6216\u91cd\u8907\u6263\u6b3e\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u540c\u4e00\u500b\u4f7f\u7528\u8005\/IP \u7684\u91cd\u8907\u8acb\u6c42\u9593\u9694\u5728\u300c\u6578\u79d2\u7d1a\u300d\uff08\u7b26\u5408\u4eba\u985e\u624b\u52d5\u9023\u9ede\u6216\u9801\u9762\u91cd\u65b0\u6574\u7406\u7684\u901f\u5ea6\uff09\uff1b\u4f86\u81ea\u771f\u5be6\u700f\u89bd\u5668 IP\uff0c\u4e14\u5206\u4f48\u96a8\u6a5f\uff1b\u8acb\u6c42\u96c6\u4e2d\u65bc\u4e00\u822c\u8868\u55ae\u9001\u51fa\u6216\u8cc7\u6599\u66f4\u65b0\u7aef\u9ede\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u540c\u4e00\u5e33\u865f\u6216 Token \u5728\u300c\u5fae\u79d2\uff08\u03bcs\uff09\u6216\u6beb\u79d2\uff08ms\uff09\u300d\u7b49\u7d1a\u7684\u6642\u9593\u5dee\u5167\uff0c\u5f9e\u591a\u57f7\u884c\u7dd2\u540c\u6642\u767c\u9001\u6578\u5341\u81f3\u6578\u767e\u500b\u5b8c\u5168\u76f8\u540c\u7684\u8acb\u6c42\uff1b\u76ee\u6a19\u9ad8\u5ea6\u96c6\u4e2d\u5728\u6436\u8cfc\u3001\u514c\u63db\u7b49\u7aef\u9ede\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u7af6\u614b\u689d\u4ef6\uff08Race Condition\uff09\u985e\u578b\u7684\u8cc7\u6e90\u6436\u596a\u653b\u64ca\u3002\u653b\u64ca\u8005\u5229\u7528\u7cfb\u7d71\u5728\u300c\u6aa2\u67e5\u72c0\u614b\u300d\u8207\u300c\u66f4\u65b0\u8cc7\u6599\u300d\u4e4b\u9593\u7684\u5fae\u79d2\u6642\u9593\u5dee\uff0c\u8a66\u5716\u5728\u4f3a\u670d\u5668\u9084\u6c92\u4f86\u5f97\u53ca\u628a\u8cc7\u6e90\u6a19\u8a18\u70ba\u300c\u5df2\u4f7f\u7528\u300d\u524d\uff0c\u7528\u4f75\u767c\u8acb\u6c42\u7e5e\u904e\u6578\u91cf\u9650\u5236\u3002 <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u95dc\u9375\u4ea4\u6613\u7aef\u9ede\u5f15\u5165 Redis \u5206\u6563\u5f0f\u9396\uff08Distributed Lock\uff09\u6216\u8cc7\u6599\u5eab\u6392\u4ed6\u9396\uff0c\u78ba\u4fdd\u8acb\u6c42\u539f\u5b50\u5316\u8655\u7406\uff08Atomic Operation\uff09\u3002<\/li>\n\n\n\n<li>API Gateway \u91dd\u5c0d\u55ae\u4e00 Token\/IP \u8a2d\u5b9a\u56b4\u683c\u7684 Rate Limiting\uff0c\u4e26\u5728\u524d\u7aef\u6309\u9215\u52a0\u4e0a Debounce \/ Throttle \u6a5f\u5236\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 426 &#8211; Upgrade Required<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u4f3a\u670d\u5668\u62d2\u7d55\u4f7f\u7528\u7576\u524d\u7684\u5354\u5b9a\u8655\u7406\u8acb\u6c42\uff0c\u4e26\u8981\u6c42\u5ba2\u6236\u7aef\u5347\u7d1a\u81f3\u6307\u5b9a\u5354\u5b9a\uff08\u5982\u66f4\u9ad8\u7248\u672c HTTP \u6216\u6539\u7528 WebSocket\uff09\u5f8c\u518d\u91cd\u65b0\u50b3\u9001\uff0c\u6b64\u70ba\u61c9\u7528\u5c64\u660e\u78ba\u56de\u61c9\u7684\u6b63\u5f0f\u72c0\u614b\u78bc\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 70%\uff08\u4f3a\u670d\u5668\/\u61c9\u7528\u908f\u8f2f\u8981\u6c42\u7279\u5b9a\u7aef\u9ede\u5fc5\u9808\u5347\u7d1a\u5354\u5b9a\uff0c\u5982\u5f37\u5236\u8981\u6c42 WebSocket \u5347\u7d1a\uff0c\u5c0e\u81f4\u820a\u7248 App\u3001\u820a SDK \u547c\u53eb\u5931\u6557\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 30%\uff08\u4f4e\u968e\u81ea\u52d5\u5316\u653b\u64ca\u8173\u672c\u4f7f\u7528\u4e0d\u652f\u63f4\u7684\u5354\u5b9a\u5617\u8a66\u5b58\u53d6\uff0c\u89f8\u767c\u61c9\u7528\u5c64\u660e\u78ba\u62d2\u7d55\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u591a\u767c\u751f\u5728\u61c9\u7528\u7a0b\u5f0f\u660e\u78ba\u8981\u6c42\u5354\u5b9a\u5347\u7d1a\u7684\u7aef\u9ede\uff08\u5982\u5373\u6642\u901a\u8a0a\u9700\u6c42\u7684 WebSocket \u7aef\u9ede\uff09\uff0c\u56e0\u820a\u7248 App \u6216\u672a\u66f4\u65b0\u7684 SDK \u4ecd\u4ee5\u820a\u5354\u5b9a\u767c\u9001\u8acb\u6c42\u800c\u88ab\u62d2\u7d55\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u6d41\u91cf\u591a\u4f86\u81ea\u64b0\u5beb\u7c97\u7cd9\u7684\u820a\u7248\u8173\u672c\u6216\u722c\u87f2\uff0c\u5c0d\u660e\u78ba\u8981\u6c42\u5354\u5b9a\u5347\u7d1a\u7684\u7aef\u9ede\u6301\u7e8c\u4ee5\u820a\u5354\u5b9a\u767c\u9001\u8acb\u6c42\uff0c\u4e14\u7121\u8996\u4f3a\u670d\u5668\u56de\u61c9\u6301\u7e8c\u91cd\u8a66\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u4f4e\u968e\u81ea\u52d5\u5316\u653b\u64ca\u5de5\u5177\u5c0d\u7279\u5b9a\u5354\u5b9a\u5347\u7d1a\u7aef\u9ede\u7684\u932f\u8aa4\u5b58\u53d6\u5617\u8a66\uff0c\u901a\u5e38\u4ee3\u8868\u5de5\u5177\u672c\u8eab\u8001\u820a\u6216\u672a\u6b63\u78ba\u8655\u7406\u5354\u5b9a\u5347\u7d1a\u6d41\u7a0b\uff0c\u8f03\u5c11\u5c6c\u65bc\u523b\u610f\u7684\u653b\u64ca\u884c\u70ba\uff0c\u591a\u70ba\u80cc\u666f\u96dc\u8a0a\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7dad\u6301\u5165\u53e3\u7db2\u95dc\u7684\u5b89\u5168\u653f\u7b56\uff08\u5f37\u5236 TLS 1.2+\uff0fHTTP\/2\uff09\uff0c\u4f46\u6b64\u985e\u653f\u7b56\u901a\u5e38\u5728\u9023\u7dda\u5c64\u800c\u975e\u61c9\u7528\u5c64\u57f7\u884c\u3002<\/li>\n\n\n\n<li>\u82e5\u70ba\u6b63\u5e38 App \u6d41\u91cf\uff0c\u63d0\u9192\u7528\u6236\u66f4\u65b0 App \u7248\u672c\u4ee5\u6b63\u78ba\u652f\u63f4\u5354\u5b9a\u5347\u7d1a\u6d41\u7a0b\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 499 &#8211; Client Closed Request\uff08Nginx \u975e\u6a19\u6e96\uff09<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u70ba Nginx \u81ea\u5b9a\u7fa9\u72c0\u614b\u78bc\uff08\u50c5\u51fa\u73fe\u65bc Nginx \u5b58\u53d6\u65e5\u8a8c\uff0c\u4e0d\u6703\u5be6\u969b\u56de\u50b3\u7d66\u5ba2\u6236\u7aef\uff09\uff0c\u8868\u793a\u4f3a\u670d\u5668\u9084\u5728\u8655\u7406\u8acb\u6c42\u6642\uff0c\u5ba2\u6236\u7aef\uff08\u700f\u89bd\u5668\/\u524d\u7aef\uff09\u4e3b\u52d5\u4e2d\u65b7\u4e86 TCP \u9023\u7dda\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 80%\uff08\u5f8c\u7aef API \u8655\u7406\u904e\u6162\u5c0e\u81f4\u4f7f\u7528\u8005\u7b49\u4e0d\u53ca\u800c\u95dc\u9589\/\u91cd\u65b0\u6574\u7406\u7db2\u9801\uff0c\u6216\u524d\u7aef Timeout \u8a2d\u5b9a\u904e\u77ed\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 20%\uff08\u653b\u64ca\u8005\u89f8\u767c\u9ad8\u8017\u80fd API \u5f8c\u6545\u610f\u7acb\u5373\u65b7\u958b\u9023\u7dda\uff0c\u9032\u884c\u6162\u901f\/\u975e\u540c\u6b65\u8cc7\u6e90\u8017\u76e1\u653b\u64ca\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u4f34\u96a8\u5f8c\u7aef API \u57f7\u884c\u6642\u9593\u904e\u9577\uff08\u5982 10 \u79d2\u4ee5\u4e0a\u5831\u8868\u67e5\u8a62\uff09\uff0c\u4f7f\u7528\u8005\u7b49\u4e0d\u53ca\u800c\u95dc\u9589\u6216\u91cd\u65b0\u6574\u7406\u7db2\u9801\uff1b\u6216\u524d\u7aef AJAX Timeout \u8a2d\u5b9a\u904e\u77ed\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u91dd\u5c0d\u6975\u9ad8\u8017\u80fd\u7aef\u9ede\uff0c\u767c\u9001\u8acb\u6c42\u5f8c\u5728\u6975\u77ed\u6642\u9593\u4e4b\u5167\uff08\u5982 100ms\uff09\u6545\u610f\u4e3b\u52d5\u5207\u65b7\u9023\u7dda\uff0c\u4e26\u5229\u7528\u8173\u672c\u9ad8\u983b\u91cd\u8907\u6b64\u52d5\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u653b\u64ca\u8005\u89f8\u767c\u5f8c\u7aef\u9ad8\u8ca0\u8f09\u904b\u7b97\uff08\u5982\u8907\u96dc SQL \u6216\u5bc6\u78bc Hash\uff09\u5f8c\u7acb\u5373\u65b7\u958b\u9023\u7dda\uff0c\u907f\u958b\u81ea\u8eab\u7dad\u6301\u9023\u7dda\u7684\u958b\u92b7\uff0c\u4f46\u8feb\u4f7f\u5f8c\u7aef\u7e7c\u7e8c\u5b8c\u6210\u9ad8\u8017\u80fd\u904b\u7b97\uff0c\u85c9\u6b64\u5feb\u901f\u8017\u76e1\u4f3a\u670d\u5668\u7684 CPU \u8207 Connection Pool\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u78ba\u4fdd\u5f8c\u7aef\u61c9\u7528\u7a0b\u5f0f\u6846\u67b6\uff08\u5982 Go Context\u3001Node.js Request Abort\u3001Java Thread Interrupt\uff09\u6709\u6b63\u78ba\u76e3\u807d\u9023\u7dda\u4e2d\u65b7\u4e8b\u4ef6\u4ee5\u91cb\u653e\u8cc7\u6e90\u3002<\/li>\n\n\n\n<li>\u512a\u5316\u5f8c\u7aef API \u67e5\u8a62\u6548\u80fd\uff0c\u4e26\u5728 API Gateway \u8a2d\u5b9a\u5408\u7406\u7684 Request Timeout\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5xx &#8211; \u4f3a\u670d\u5668\u932f\u8aa4 (Server Error)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u793a\u4f3a\u670d\u5668\u5728\u8655\u7406\u8acb\u6c42\u6642\u767c\u751f\u932f\u8aa4\uff0c\u662f\u4f3a\u670d\u5668\u7aef\u7684\u554f\u984c\uff0c\u5e38\u898b\u7684\u6709\u4ee5\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>500 Internal Server Error<\/strong>\uff1a\u4f3a\u670d\u5668\u5167\u90e8\u767c\u751f\u672a\u9810\u671f\u7684\u932f\u8aa4<\/li>\n\n\n\n<li><strong>502 Bad Gateway<\/strong>\uff1a\u4f3a\u670d\u5668\u4f5c\u70ba\u9598\u9053\/\u4ee3\u7406\u6642\u6536\u5230\u7121\u6548\u56de\u61c9<\/li>\n\n\n\n<li><strong>503 Service Unavailable<\/strong>\uff1a\u4f3a\u670d\u5668\u66ab\u6642\u7121\u6cd5\u8655\u7406\u8acb\u6c42\uff08\u5982\u904e\u8f09\u6216\u7dad\u8b77\u4e2d\uff09<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP 500 &#8211; Internal Server Error<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7c21\u4ecb<\/strong>\uff1a\u8868\u793a\u4f3a\u670d\u5668\u7aef\u767c\u751f\u672a\u9810\u671f\u7684\u7a0b\u5f0f\u932f\u8aa4\u6216\u672a\u8655\u7406\u7684\u4f8b\u5916\uff08Unhandled Exception\uff09\uff0c\u5c0e\u81f4\u7121\u6cd5\u5b8c\u6210\u8acb\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u8207\u653b\u64ca\u884c\u70ba\u51fa\u73fe\u6a5f\u7387\uff08\u4f30\u8a08\uff0c\u50c5\u4f9b\u53c3\u8003\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5e38\u884c\u70ba\uff1a\u7d04 70%\uff08\u7a0b\u5f0f\u78bc Bug\u3001\u8cc7\u6599\u5eab\u9023\u7dda\u6c60\u8017\u76e1 Connection Pool Exhaustion\u3001\u7b2c\u4e09\u65b9\u4f9d\u8cf4\u670d\u52d9\u5d29\u6f70\uff09\u3002<\/li>\n\n\n\n<li>\u653b\u64ca\u884c\u70ba\uff1a\u7d04 30%\uff08\u653b\u64ca\u8005\u50b3\u5165\u60e1\u610f Payload \u6545\u610f\u89f8\u767c\u7cfb\u7d71\u4f8b\u5916\uff0c\u5617\u8a66\u7372\u53d6 Stack Trace \u6216\u767c\u52d5 RCE\/SQLi\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6b63\u5e38\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\u96c6\u4e2d\u5728\u7279\u5b9a\u65b0\u4e0a\u7dda\u529f\u80fd\u3001\u5f8c\u7aef\u7a0b\u5f0f Bug\u3001\u8cc7\u6599\u5eab\u9023\u7dda\u6c60\u6eff\u6216\u7b2c\u4e09\u65b9\u670d\u52d9\u5d29\u6f70\uff0c\u8acb\u6c42 Payload \u901a\u5e38\u7121\u60e1\u610f\u5b57\u5143\u3002<\/li>\n\n\n\n<li><strong>\u653b\u64ca\u884c\u70ba\u7684\u5224\u65b7\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u5224\u65b7\u7279\u5fb5<\/strong>\uff1a\u8acb\u6c42\u53c3\u6578\u5e36\u6709\u55ae\u5f15\u865f\uff08<code>'<\/code>\uff09\u3001\u7279\u6b8a\u5b57\u5143\u5e8f\u5217\u3001\u53cd\u5e8f\u5217\u5316\u6a19\u982d\u6216\u7cfb\u7d71\u547d\u4ee4\u7b26\u865f\uff08<code>;<\/code>, <code>|<\/code>\uff09\uff0c\u767c\u751f\u5728\u653b\u64ca\u8005\u5617\u8a66\u6ce8\u5165 Payload \u7684\u53c3\u6578\u9ede\u3002<\/li>\n\n\n\n<li><strong>\u539f\u56e0\u8207\u60c5\u5883<\/strong>\uff1a\u61c9\u7528\u7a0b\u5f0f\u6f0f\u6d1e\u63a2\u6e2c\uff08SQLi, RCE, Command Injection, Deserialization\uff09\u2014\u2014\u7686\u70ba\u696d\u754c\u516c\u8a8d\u4e4b\u6b63\u5f0f\u6f0f\u6d1e\u5206\u985e\u3002\u653b\u64ca\u8005\u8f38\u5165\u60e1\u610f Payload \u6545\u610f\u89f8\u767c\u672a\u8655\u7406\u4f8b\u5916\uff0c\u8a66\u5716\u5f9e 500 \u7684 Error Stack Trace \u4e2d\u7372\u53d6\u654f\u611f\u8cc7\u8a0a\uff08\u5982\u8cc7\u6599\u5eab\u985e\u578b\u3001\u7d55\u5c0d\u8def\u5f91\u3001\u5957\u4ef6\u7248\u672c\uff09\uff1b\u6216\u662f\u6f0f\u6d1e\u5df2\u6210\u529f\u57f7\u884c\u4e26\u9020\u6210\u5f8c\u7aef\u7a0b\u5f0f\u5d29\u6f70\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7570\u5e38\u884c\u70ba\u5efa\u8b70\u8655\u7f6e\u65b9\u5f0f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u95dc\u9589\u751f\u7522\u74b0\u5883\u7684 Debug \u6a21\u5f0f\u8207\u8a73\u7d30 Stack Trace \u56de\u61c9\uff08\u7d71\u4e00\u50b3\u56de\u901a\u7528 500 \u9801\u9762\uff09\u3002<\/li>\n\n\n\n<li>\u9032\u884c\u5168\u7ad9 Input Validation \u8207 Parameterized Queries\uff08\u9810\u7de8\u8b6f\u67e5\u8a62\uff09\uff0c\u4fee\u88dc SQLi\/RCE \u6f0f\u6d1e\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>HTTP \u72c0\u614b\u78bc\u662f Web \u5b89\u5168\u5206\u6790\u4e2d\u4f4e\u6210\u672c\u3001\u9ad8\u56de\u5831\u7684\u6578\u64da\u4f86\u6e90\uff0c\u5c0d\u8cc7\u5b89\u4eba\u54e1\uff08\u4e0d\u8ad6\u662f\u7d05\u968a\u6ef2\u900f\u6e2c\u8a66\u3001\u85cd\u968a SOC \u76e3\u63a7\u3001\u6216\u662f DevSecOps \u61c9\u7528\u7a0b\u5f0f\u5b89\u5168\u958b\u767c\uff09\u800c\u8a00\uff0cHTTP Status Codes\u662f\u7db2\u8def\u6d41\u91cf\u4e2d\u6700\u76f4\u89c0\u3001\u4e5f\u6700\u5bcc\u542b\u60c5\u5831\u91cf\u7684\u300c\u7b2c\u4e00\u7dda\u5075\u6e2c\u6307\u6a19\u300d\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[10],"tags":[],"class_list":["post-3254","post","type-post","status-publish","format-standard","hentry","category-securitysloution"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":240,"url":"https:\/\/systw.net\/note\/archives\/240","url_meta":{"origin":3254,"position":0},"title":"CSRF","author":"raymond","date":"2020 \u5e74 8 \u6708 10 \u65e5","format":false,"excerpt":"CSRF(Cross Site Request Forgery) \u60e1\u610f\u7684HTTP\u6307\u4ee4\u88ab\u7576\u6210\u5408\u6cd5\u7684\u6307\u4ee4\u2026","rel":"","context":"\u5728\u300cClientSide\u300d\u4e2d","block_context":{"text":"ClientSide","link":"https:\/\/systw.net\/note\/archives\/category\/hackerthreat\/clientside"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":667,"url":"https:\/\/systw.net\/note\/archives\/667","url_meta":{"origin":3254,"position":1},"title":"Apache log","author":"raymond","date":"2015 \u5e74 8 \u6708 22 \u65e5","format":false,"excerpt":"Apache log\u5132\u5b58\u76ee\u9304centos\u9810\u8a2d\u5132\u5b58\u5728\u3000\/var\/log\/httpd\/ubuntu\u9810\u8a2d\u5132\u2026","rel":"","context":"\u5728\u300cLinux\u670d\u52d9\u300d\u4e2d","block_context":{"text":"Linux\u670d\u52d9","link":"https:\/\/systw.net\/note\/archives\/category\/system\/linuxservice"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":851,"url":"https:\/\/systw.net\/note\/archives\/851","url_meta":{"origin":3254,"position":2},"title":"Application Proxy","author":"raymond","date":"2008 \u5e74 7 \u6708 6 \u65e5","format":false,"excerpt":"\u00a0\u5feb\u53d6\u4f3a\u670d\u5668\u512a\u9ede\uff1a\u00a0\u6e1b\u5c11\u983b\u5bec\u6d6a\u8cbb\u00a0\u964d\u4f4e\u7db2\u9801\u4f3a\u670d\u5668\u7684\u8ca0\u64d4\u00a0&n\u2026","rel":"","context":"\u5728\u300cOSI Layer7\u300d\u4e2d","block_context":{"text":"OSI Layer7","link":"https:\/\/systw.net\/note\/archives\/category\/network\/osi-layer7"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1522,"url":"https:\/\/systw.net\/note\/archives\/1522","url_meta":{"origin":3254,"position":3},"title":"API parameter pollution","author":"raymond","date":"2023 \u5e74 5 \u6708 3 \u65e5","format":false,"excerpt":"\u67d0\u4e9b\u7db2\u7ad9\u7121\u6cd5\u76f4\u63a5\u5f9eInternet\u5b58\u53d6\u7684\u5167\u90e8API\uff0c\u56e0\u6b64\u9700\u8981\u5728\u900f\u904e\u4e00\u500b\u4e2d\u9593\u7cfb\u7d71\u5b58\u53d6\u5167\u90e8API\uff0c\u5728\u9019\u500b\u2026","rel":"","context":"\u5728\u300cServerSide\u300d\u4e2d","block_context":{"text":"ServerSide","link":"https:\/\/systw.net\/note\/archives\/category\/hackerthreat\/serverside"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":859,"url":"https:\/\/systw.net\/note\/archives\/859","url_meta":{"origin":3254,"position":4},"title":"Application Web","author":"raymond","date":"2008 \u5e74 7 \u6708 6 \u65e5","format":false,"excerpt":"WWW(world wide web)\u6b77\u53f21945,hypertext(\u8d85\u93c8\u7d50\u6587\u4ef6),MIT\u7684van\u2026","rel":"","context":"\u5728\u300cOSI Layer7\u300d\u4e2d","block_context":{"text":"OSI Layer7","link":"https:\/\/systw.net\/note\/archives\/category\/network\/osi-layer7"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1118,"url":"https:\/\/systw.net\/note\/archives\/1118","url_meta":{"origin":3254,"position":5},"title":"\u524d\u7aef\u5132\u5b58","author":"raymond","date":"2023 \u5e74 1 \u6708 14 \u65e5","format":false,"excerpt":"HTTP\u8acb\u6c42\u4e2d\u7684Cookie\u8cc7\u8a0a\u901a\u5e38\u7528\u65bc\u5224\u65b7\u4f7f\u7528\u8005\u767b\u5165\u72c0\u614b\uff0c\u5176\u4e2d\u4f3a\u670d\u5668\u6703\u5728\u4f7f\u7528\u8005\u767b\u5165\u6642\u5c07\u52a0\u5bc6\u7684\u552f\u4e00\u8fa8\u2026","rel":"","context":"\u5728\u300cClientSide\u300d\u4e2d","block_context":{"text":"ClientSide","link":"https:\/\/systw.net\/note\/archives\/category\/hackerthreat\/clientside"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/3254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/comments?post=3254"}],"version-history":[{"count":3,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/3254\/revisions"}],"predecessor-version":[{"id":3257,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/3254\/revisions\/3257"}],"wp:attachment":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/media?parent=3254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/categories?post=3254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/tags?post=3254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}