On-The-Fly PHP Resim Üretimi

4 Cevap php

İnsanların bunları kullanmak için bir afiş oluşturmak için olanak sağlayacak bir komut dosyası geliştiriyorum. Bu özelleştirilebilir. Özelleştirme sürecinde, ben yerinde afiş tekar sahip olmak istiyorum. Böylece değişiklikleri görebiliyordu. Onlar afiş oluşturmak ve tamamen onunla yapılır sonra onlara bunları kullanmak için bir link verecek. Bu bağlantı afiş önbelleğe alınmış bir sürümü olacak ve bu yüzden sık sık her önbelleğe olacaktır. Ben sunucu aşırı yük önlemek için benim on-the-spot nesil kötüye engel herhangi bir yolu var mı? Ben bu yüzden sadece benim JavaScript bunu yeniden olabilir yapabilir bir yolu var mı?

4 Cevap

Muhtemelen çok sık, ne olursa olsun bu istismara ya da çok gerçek ziyaretçi sahip gelen bakılmaksızın yüklü görüntülere karşı savunmak gerekir. Her görüntü için (Eğer sunucu olmak istiyorum nasıl yüklenir bağlı olarak) belirli bir süre için yenilenir maksimum sayıda tahsis ve bir dosya oluşturmak ya da statik bir hata görüntüsünü dönmemesi gerektiğini her istek için belirleyebilirsiniz.

Kapsamlı günlüğü & oturum izleme sorunu ile yardımcı olacaktır. Bir kullanıcı bazında banner nesil kullanımını izlemek için bir oturum değişkeni kullanabilirsiniz. Geri bu kadar her IP adresinden gelen aktivite günlüğü ile. Ağır kullanım kullanıcılar ve IP adreslerinden gelen aşırı isteklerini reddedebilir.

Ben zaten orada yazılım mevcut ve olabilecek hayal ediyorum Eğer damla-in verebilecek uygulamanız için özel kodlama olmadan IP, kaynak kullanımını yönetmek için donanım araçları. I ServerFault yanı bu soruyu soran denemek istiyorum.

Sen check the referer on-the-fly koduna istekleri sitenize gelen ve hotlink olmak değil emin olmak için olabilir.

Bu tür şeyleri biz <canvas> sahip nedenlerle oldukça fazla.

Bir <canvas> etiketini kullanarak, (aslında, sunucu bu görüntü manipülasyonu tamamen habersiz olan) tüm sunucu üzerinde herhangi bir yük koymadan anında görüntü işleme yapabilirsiniz. Işiniz bittikten sonra, aslında tuval ham görüntü verilerini almak ve bir <img> etiketi koymak, ya da sunucu veya görüntüleri ile yapabileceğiniz başka bir şey sunabilirsiniz.

Eğer şu anda (diğer yanıtlar tarafından yapılan önerileri ile birlikte) ne bir geri dönüş ile bu uygulamak eğer, o zaman iyi bir denge ulaşacak.