{"id":7558,"date":"2024-12-24T17:00:14","date_gmt":"2024-12-24T14:00:14","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/"},"modified":"2024-12-24T17:00:14","modified_gmt":"2024-12-24T14:00:14","slug":"nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/","title":{"rendered":"NestJS&#8217;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler"},"content":{"rendered":"<p><body><\/p>\n<p>NestJS&#8217;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler<\/p>\n<p>Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z s\u0131n\u0131rlama) mekanizmas\u0131n\u0131 nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m.  Rate limiting, belirli bir zaman aral\u0131\u011f\u0131nda yap\u0131lan istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak sunucunuzun a\u015f\u0131r\u0131 y\u00fcklenmesini ve performans d\u00fc\u015f\u00fc\u015flerini \u00f6nlemenizi sa\u011flar.  \u00d6zellikle API&#8217;lerinizin k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131mlara kar\u015f\u0131 korunmas\u0131 i\u00e7in son derece \u00f6nemlidir.  Bu rehberde, hem IP tabanl\u0131 hem de cihaz ID tabanl\u0131 rate limiting stratejilerini ele alaca\u011f\u0131z.<\/p>\n<h2>IP Tabanl\u0131 Rate Limiting<\/h2>\n<p>IP tabanl\u0131 rate limiting, belirli bir IP adresinden gelen istekleri s\u0131n\u0131rlar.  Bu, ayn\u0131 IP adresinden gelen \u00e7ok say\u0131da istekle sunucuyu a\u015f\u0131r\u0131 y\u00fcklemeyi \u00f6nlemek i\u00e7in etkili bir y\u00f6ntemdir.  \u00d6rne\u011fin, belirli bir IP adresinden dakikada 100&#8217;den fazla istek gelmesini engelleyebilirsiniz.  Bunun i\u00e7in \u00f6ncelikle bir istek sayac\u0131 tutmam\u0131z ve bu sayac\u0131 her istekte g\u00fcncellememiz gerekiyor.  \u0130\u015fte NestJS&#8217;de bunu nas\u0131l yapabilece\u011fimize dair bir \u00f6rnek:<\/p>\n<pre><code class=\"language-typescript\">\nimport { Injectable, NestMiddleware } from '@nestjs\/common';\nimport { Request, Response, NextFunction } from 'express';\n\n@Injectable()\nexport class RateLimitMiddleware implements NestMiddleware {\n  private readonly requests = new Map<string, number>();\n\n  use(req: Request, res: Response, next: NextFunction) {\n    const ip = req.ip;\n    const limit = 100; \/\/ Dakikadaki maksimum istek say\u0131s\u0131\n    const timeWindow = 60000; \/\/ Milisaniye cinsinden zaman penceresi\n\n    let count = this.requests.get(ip) || 0;\n    const now = Date.now();\n\n    \/\/ Eski istekleri temizleme\n    this.requests.forEach((value, key, map) => {\n      if (now - key > timeWindow) {\n        map.delete(key);\n      }\n    })\n    \n    if (count >= limit) {\n      return res.status(429).send('Too Many Requests');\n    }\n\n    count++;\n    this.requests.set(ip, count);\n\n    next();\n  }\n}\n<\/code><\/pre>\n<p>Bu middleware, gelen her iste\u011fin IP adresini takip eder ve izin verilen limiti a\u015farsa 429 (Too Many Requests) hatas\u0131 d\u00f6nd\u00fcr\u00fcr.  Bu basit bir \u00f6rnektir, daha geli\u015fmi\u015f senaryolar i\u00e7in redis gibi bir \u00f6nbelle\u011fe ihtiya\u00e7 duyabilirsiniz. <a href=\"https:\/\/fatihsoysal.com\">Web sitemde<\/a>  daha karma\u015f\u0131k \u00f6rnekler bulabilirsiniz.<\/p>\n<h2>Cihaz ID Tabanl\u0131 Rate Limiting<\/h2>\n<p>IP tabanl\u0131 limitleme, proxy veya VPN kullanan kullan\u0131c\u0131lar\u0131 do\u011fru bir \u015fekilde s\u0131n\u0131rland\u0131rmayabilir. Bu y\u00fczden cihaz ID tabanl\u0131 rate limiting daha g\u00fcvenilir bir \u00e7\u00f6z\u00fcmd\u00fcr.  Cihaz ID&#8217;si, cihaz\u0131n benzersiz bir tan\u0131mlay\u0131c\u0131s\u0131 olabilir (\u00f6rne\u011fin, UUID).  Uygulaman\u0131z kullan\u0131c\u0131 kimlik do\u011frulamas\u0131 yap\u0131yorsa, kullan\u0131c\u0131 ID&#8217;sini kullanabilirsiniz.  Bu y\u00f6ntem, ayn\u0131 cihazdan gelen \u00e7ok say\u0131da iste\u011fi engellemeye yard\u0131mc\u0131 olur.<\/p>\n<p>Cihaz ID&#8217;sini elde etmek i\u00e7in, istek ba\u015fl\u0131klar\u0131nda bir &#8220;Device-ID&#8221; g\u00f6ndermesini veya uygulaman\u0131zda cihaz kimli\u011fi olu\u015fturup saklamas\u0131n\u0131 sa\u011flayabilirsiniz.  Yukar\u0131daki middleware \u00f6rne\u011fine benzer bir \u015fekilde, cihaz ID&#8217;sini kullanarak istekleri sayabilir ve limiti kontrol edebilirsiniz.  Ancak, cihaz ID&#8217;sinin g\u00fcvenli bir \u015fekilde elde edildi\u011finden ve sakland\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z.<\/p>\n<h2>Rate Limiting K\u00fct\u00fcphaneleri<\/h2>\n<p>Rate limiting uygulamas\u0131n\u0131 kolayla\u015ft\u0131rmak i\u00e7in \u00e7e\u015fitli NestJS k\u00fct\u00fcphaneleri mevcuttur.  Bu k\u00fct\u00fcphaneler, redis entegrasyonu gibi geli\u015fmi\u015f \u00f6zellikler sunar ve geli\u015ftirme s\u00fcrenizi k\u0131salt\u0131r.  Ara\u015ft\u0131rman\u0131z\u0131 yaparak projenize en uygun k\u00fct\u00fcphaneyi se\u00e7ebilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu rehberde, NestJS uygulamalar\u0131nda IP tabanl\u0131 ve cihaz ID tabanl\u0131 rate limiting&#8217;i nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz.  Rate limiting, uygulaman\u0131z\u0131n g\u00fcvenli\u011fini ve performans\u0131n\u0131 korumak i\u00e7in \u00f6nemli bir ad\u0131md\u0131r.  Do\u011fru stratejiyi se\u00e7erken ve uygularken uygulaman\u0131z\u0131n spesifik ihtiya\u00e7lar\u0131n\u0131 ve g\u00fcvenlik gereksinimlerini g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z \u00f6nemlidir.  Umar\u0131m bu rehber faydal\u0131 olmu\u015ftur!  <a href=\"https:\/\/dev.to\/mohinsheikh\/comprehensive-guide-to-implementing-rate-limiting-in-nestjs-ip-based-and-device-id-based-4bcl\">\u0130lginizi \u00e7ekebilecek \u0130ngilizce bir kaynak<\/a> i\u00e7in buraya bakabilirsiniz.<\/p>\n<p><strong>#Etiketler:<\/strong> NestJS, Rate Limiting, H\u0131z S\u0131n\u0131rlama, IP Tabanl\u0131, Cihaz ID Tabanl\u0131, G\u00fcvenlik, Performans, Rehber, Tutorial, FatihSoysal<\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"NestJS&#8217;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-7558","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>NestJS&#039;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler<\/title>\n<meta name=\"description\" content=\"Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z s\u0131n\u0131rlama) mekanizmas\u0131n\u0131 nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Rate limiting, belirli bir zaman aral\u0131\u011f\u0131nda yap\u0131lan istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak sunucunuzun a\u015f\u0131r\u0131 y\u00fcklenmesini ve performans d\u00fc\u015f\u00fc\u015flerini \u00f6nlemenizi sa\u011flar. \u00d6zellikle API&#039;lerinizin k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131mlara kar\u015f\u0131 korunmas\u0131 i\u00e7in son derece \u00f6nemlidir. Bu rehberde, hem IP tabanl\u0131 hem de cihaz ID tabanl\u0131 rate limiting stratejilerini ele alaca\u011f\u0131z.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NestJS&#039;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z s\u0131n\u0131rlama) mekanizmas\u0131n\u0131 nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Rate limiting, belirli bir zaman aral\u0131\u011f\u0131nda yap\u0131lan istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak sunucunuzun a\u015f\u0131r\u0131 y\u00fcklenmesini ve performans d\u00fc\u015f\u00fc\u015flerini \u00f6nlemenizi sa\u011flar. \u00d6zellikle API&#039;lerinizin k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131mlara kar\u015f\u0131 korunmas\u0131 i\u00e7in son derece \u00f6nemlidir. Bu rehberde, hem IP tabanl\u0131 hem de cihaz ID tabanl\u0131 rate limiting stratejilerini ele alaca\u011f\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-24T14:00:14+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"NestJS&#8217;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler\",\"datePublished\":\"2024-12-24T14:00:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/\"},\"wordCount\":528,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/\",\"name\":\"NestJS'de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2024-12-24T14:00:14+00:00\",\"description\":\"Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z s\u0131n\u0131rlama) mekanizmas\u0131n\u0131 nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Rate limiting, belirli bir zaman aral\u0131\u011f\u0131nda yap\u0131lan istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak sunucunuzun a\u015f\u0131r\u0131 y\u00fcklenmesini ve performans d\u00fc\u015f\u00fc\u015flerini \u00f6nlemenizi sa\u011flar. \u00d6zellikle API'lerinizin k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131mlara kar\u015f\u0131 korunmas\u0131 i\u00e7in son derece \u00f6nemlidir. Bu rehberde, hem IP tabanl\u0131 hem de cihaz ID tabanl\u0131 rate limiting stratejilerini ele alaca\u011f\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NestJS&#8217;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"NestJS'de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler","description":"Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z s\u0131n\u0131rlama) mekanizmas\u0131n\u0131 nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Rate limiting, belirli bir zaman aral\u0131\u011f\u0131nda yap\u0131lan istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak sunucunuzun a\u015f\u0131r\u0131 y\u00fcklenmesini ve performans d\u00fc\u015f\u00fc\u015flerini \u00f6nlemenizi sa\u011flar. \u00d6zellikle API'lerinizin k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131mlara kar\u015f\u0131 korunmas\u0131 i\u00e7in son derece \u00f6nemlidir. Bu rehberde, hem IP tabanl\u0131 hem de cihaz ID tabanl\u0131 rate limiting stratejilerini ele alaca\u011f\u0131z.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/","og_locale":"tr_TR","og_type":"article","og_title":"NestJS'de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler","og_description":"Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z s\u0131n\u0131rlama) mekanizmas\u0131n\u0131 nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Rate limiting, belirli bir zaman aral\u0131\u011f\u0131nda yap\u0131lan istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak sunucunuzun a\u015f\u0131r\u0131 y\u00fcklenmesini ve performans d\u00fc\u015f\u00fc\u015flerini \u00f6nlemenizi sa\u011flar. \u00d6zellikle API'lerinizin k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131mlara kar\u015f\u0131 korunmas\u0131 i\u00e7in son derece \u00f6nemlidir. Bu rehberde, hem IP tabanl\u0131 hem de cihaz ID tabanl\u0131 rate limiting stratejilerini ele alaca\u011f\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2024-12-24T14:00:14+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"NestJS&#8217;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler","datePublished":"2024-12-24T14:00:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/"},"wordCount":528,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/","url":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/","name":"NestJS'de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2024-12-24T14:00:14+00:00","description":"Merhaba! Bu yaz\u0131da, NestJS uygulamalar\u0131n\u0131zda rate limiting (h\u0131z s\u0131n\u0131rlama) mekanizmas\u0131n\u0131 nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Rate limiting, belirli bir zaman aral\u0131\u011f\u0131nda yap\u0131lan istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak sunucunuzun a\u015f\u0131r\u0131 y\u00fcklenmesini ve performans d\u00fc\u015f\u00fc\u015flerini \u00f6nlemenizi sa\u011flar. \u00d6zellikle API'lerinizin k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131mlara kar\u015f\u0131 korunmas\u0131 i\u00e7in son derece \u00f6nemlidir. Bu rehberde, hem IP tabanl\u0131 hem de cihaz ID tabanl\u0131 rate limiting stratejilerini ele alaca\u011f\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nestjsde-rate-limiting-uygulamasi-ip-ve-cihaz-id-tabanli-stratejiler\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"NestJS&#8217;de Rate Limiting Uygulamas\u0131: IP ve Cihaz ID Tabanl\u0131 Stratejiler"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/7558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=7558"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/7558\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=7558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=7558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=7558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}