Better to post it here we can t formally
Better to post it here: we can't formally/directly support folks via DM, but others may be able to help 🙂
104 Replies
{
"message": "Error while checking rows: Error: D1_ERROR\n at D1Database._send (worker.js:149:13)\n at async D1PreparedStatement.all (worker.js:215:7)\n at async Object.fetch (worker.js:11:18)"
}
It works with few users. but it does not work when there are many instant requests.😕What is “many” here? How are you testing?
Instant 5k request
I wonder what I'm doing wrong.
Does the D1 database have a request limit
5k RPS with (potentially) multiple queries - you're likely going to hit the limits of the alpha right now. You're also (potentially) calling the Rate Limiting API many, many times per 5 minutes, which will cause you to get rate limited there as well.
Hmm.Thank you
How do you suggest I solve this problem
A rate limiting rule (https://developers.cloudflare.com/waf/rate-limiting-rules/request-rate/) would probably do this for you and be much more scalable (and cheaper...) - e.g. a rule that rate limits IPs by path - https://developers.cloudflare.com/waf/rate-limiting-rules/parameters/
i agree this solution would cost you a lot.
@lokiwind as a price. it'll cost more than you expect if you do it in this way.
Konu para değil. D1 limiti
the first query causes the limit right?
Hayır şu sorgu:
if (results && results.length > 0)
Basit bir ratelimiter kodlamak istedim.so the rate limiting api causes issues right
Evet
i don't think it's related to D1 tho
:)
D1 ile ilgili
Sınırları var
..
bence yanlışin var.
rate limit apisinde istek limiti olabilir.
bahsettiğin kod oraya post isteği atıyor sonuçta.
Orada bir sorun yok
dediğim gibi 1k+ üzeri yazma yaptım ve bir sorun yaşamadım
{
"message": "Error while checking rows: Error: D1_ERROR\n at D1Database._send (worker.js:149:13)\n at async D1PreparedStatement.all (worker.js:215:7)\n at async Object.fetch (worker.js:11:18)"
}
Hata çıktısı
Muhtemelen ben karmaşık bir sorgu yapıyorum ondan da olabiliryazdığın sorguyu anlayamadım bile
Cloudflare Api 5 dakikada 1200 isteğe izin veriyor
Hata aldığımda apiyi test ettim apide bir sorun olmuyor
Sanırım D1 sınırlarını aştım
yazdığın sorguda bir limit yok ama
neden öyle peki
1m veri olsa 1m veri mi bekliyorsun?
Kodu yazdım workersi websitesinin önüne route ettim
Layer 7 yolladım
dump oldu
limitleyip pagelere bolebilirsin SQL queryni
belkide tek queryde alabileceğin bir limit vardır
Bak şöyle bir şey göstereceğim sana
Yardımın için de sağol
vaktini alıyorum
ki zaten giren kişileri ayrı rowlar halinde tutmak yerine belirli bir rowda login count tarzı değer tutabilirsin
columnda*
ip,logincount,ratelimited
gibi bir tablo yaparak
queryde ip ile arayıp logincountu alırsın.
3ve uzeriyse örnek. ratelimit apisi calistirirsin
Benim ip de gözüküyor 🙂
bu access log peki kullanıcı f5 attiginda
yeni ip olarak mı ekliyor.
evet öyle eklemis
bu mantıksız geldi bana :)
evet ve 1 ip 3 ve daha fazla aynı zamanda giriş bulursa
Api ile kurala ekleyip
Ipye ait
verileri siliyor tablodan
bunu tek bir satırda yapabilirsin.
bu 1-2 kişi için çalışıyor
ancak anlık 1k veri yolladığımda
götü başı kayıyıo
bu bence tasarım hatası
Evet bi test ettim geliştiricem
D1 olmasa başka bir db olsa bile onuda zorlar.
Haklısın
cfnin ratelimiti neyine yetmiyor
:p
geçiliyor
nasıl geçiliyor?
şimdi 10 saniyede 10 istek kuralı var
10 saniyede 9 istek gelirse
ücretsiz kullanırsan öyle evet.
Free için bir koruma geliştiriyorum
Bazı eklendiler kullanrak
Bakalım nasıl olur
hayirlisi
artık ratelimite bile gerek kalmadı cfde
Free versiyo için mi konuşuyoruz
ona emin degilim
managed yeterli geliyor bence
Piyasada çok sağlam korumalar var da
Türkler pek bilmiyor ya da pahalı
Ya da az gelişmiş yönetim paneli
Ya da Türkçe destek yok
Hyperfilter
Datadome
hyperfilterin gelişim nedeni biz olabiliriz
Bir arakdaşım orada 400 tl veriyor L7 http ddos alıyor
Belelş stresser ile vuruyorlar
o kadar gelişmiş değildi biz kullanırken. sonra yediğimiz saldırılardan dolayı geliştirmişlerdi bizim için
captcha vs getirmislerdi
pahalı evet ama hakkını verdi belirli bir dönem
Yurtdışı için yine uygun
Erdogan doları 20 yaptı
KSKDKSKKD
cloudflare best şuan
eskiden böyle değildi
hyperfilter gibi çözümler kullaniyorduk
Kanka adamlar Chromium kurup
onunla saldırmaya başladı
çığır aştı eşşekler
captcha için para ödemesi gerekiyor ama saldırırken:)
Evet ama bak şu var
Normal kullanıcıya neden captcha göstereyim?
Bu en sevmediğim şeu
bu koruma değil
managed attığında gerekirse gösterir diye biliyorum
koy recaptcaha gcaptcha cloudflare captcha turnsistel falaan
Geçenin alnıını karışlarım
Ama mevzu
Temiz kullanıcı ile Bot saldırıyı ayırmak
ben bir zararini görmedim bunun
İğreniyorum captchadan
Captcha gördüm mü siteyi kapatıyorum
ip skorun o kadar mı toxic :p
Hayır
0.7
en son
bi modeme reset atayım :d
KSKSKDK
ben bilmem
Var mı elinde gelişmiş bot
ama yapmaya calistigin rate limit patlar
bot?
Evet bot
yok ya benim işim yok dodisle
Siteye sok dicem
DDoS iyidir ya
benim siteyi biliyosun değil mi
adını vermeyelim
memmoli
adını vermeyelim dedik iyi ki
evet
sunucuda vardın çıkmışsın
:)
Aynen
Tsden
amd
nick
Hatırlamazsın
Ensar falan vardı nolldu onna
imkanı yok hatirlamamin
idk
Kanlı bıçaklıydınız
sdfsfs
hangi site bu uygulamaya çalıştığın?
yok site
varsa botun
bi domaine kurucam
merak etmistim neyse
Gelişmiş bi bot konntrolü yapıyot
Bot human ayrımı
Şuan sadece şeyde açığım var yukarda da bahsettiğim
Chromium inidirp makineye
Google ile browser attack
O saldırı da tekil ip olduğu için
kabak giib rate limite takılıyor
chromium ile yapılan saldırıda site etkileniyorsa vay haline o sitenin
:)
Neden ki
Browser attack bu
chromiumu cookie almak için vs kullaniyor sanmıştım.
js destekleyen
gelişmiş saldırı
bildiğin makine saldırısı ya
google açıp websitesini aratıp
istek atıyor
insan gibi
bir tarayıcı ile yapılan istek dodis ağır yüklü olmaz diye düşünüyorum
evet dedim zaten rate limite takılıyor
sonuçta threading vs kullanamaz. siteye zarar veremez yani bana kalirsa
ama proxy kullanılıp yapılırsa 3-5 makine ile
tek çare tüm kullanıcılara
interactive challange
😄
peki challengeyi adam browserden eliyle geçti diyelim
o zaman ne olur
eğer dediğin gibiyse
Evet ama bunun için ayrı bir yazılım yazması gerekiyor
bu saldırı boyutunu küçültür ve
challange belli bi süre çözmediğinde
kendini yeniliyor
ve çözsen bile birdaha challange çıkarıyor
bu da cloudflarenin bi artısı
bu tarz chromium based dodis atan bir site bilmiyorum henüz
bu tür yöntemlere karşı
Benim bi arkadaşım var Onur
Cloudflare magic transist satın aldı
NGNİX plus ile
Korumalar yapıyor
Chromium saldırıları yapıyor
Ama tekip ipden
sizde rate limiter var
bak dediğim gibi
hadi diyelim 10snlik rate limiti
9 istekle geçti
peki ya sonra?
dediğin gibi tek ip üzerinden atiyorsa
9 istekte site mi çöker:)
Bak ben sana örnek verdim
mantığı bu
geçmenin
bir saniye
100 tane makine olsa bile saniyede 900 istek mi yapar
900 istekle o site cokuyorsa sorun başka zaten.
bu dediğin browser based vsvsvs boş.
büyük zarar vericek biseyi yok
browser based eskiden yapılırdı js challenge varken.
Makine değil
proxy
ip
1k ip
chromium actirir cookieleri alır programa gonderirdik olurdu.
makine değilse daha zor
Özel geçelim mi
elinde mevcut mu bu şuan?
Şuanda bu dünyanın parası
Browser attack
valla boşver ya sen kendini yoruyosun
captcha görse kullanıcı 1 sn kaybedicek
girmek istemiyosa girmesin zaten :)
Kimse buna koruma gözüyle bakmaz
ben kaciyorum kolay gelsin
koruma gözüyle bakmasa cf eklemezdi.
R10 üzerinde bile adama gülüp geçiyorlar
Eyyvallah görüşmek üzere 😍
r10daki adamlar önce kendini korusun
gülüp geçerler sonra .d
Orası öyle
silebilirsen sil burayı ^
silelim nereden siliyoruz
:d