Genel
Uygulama Yapımcılarına Tavsiye : Token
5 yıl önce yazıldı. | Okuma süresi: 3 dk.

Sadece web değil mobil uygulama yapımcıları da orta ölçekteki projelerinde mutlaka token sistemi kullanmalı.

Tamam sistem olarak biraz zorlar vakit alır tekrar planlama gerekir ama mutlaka yapılmalı şimdi burada sorunu özetleyelim.

Bir x uygulamasını baz alalım. x uygulamasında üyelik açtığınız ve bu üyelik ile giriş yapıp yeni şeyler oluşturma, düzenleme, silme ve dosya yükleme gibi aksiyonlarınız var.

Tamam buraya kadar bir sorun yok bunlar olabilir. İşin sırrı ise siz bu işlemleri nasıl yapıyorsunuz örneğin bir backendiniz var ve bu işlemleri ona çeşitli dillerde post, get, upload gibi şeyler yapıyorsunuz.

Peki hangi verileri gönderiyorsunuz. mesela kullanıcı id veya nickname gibi. Tamam bu işlem oldu.

Peki eğer ben yolu öğrenir, ilgili sistemlere o id veya nick ile post atarsam, düzenleme yaparsam, silme yaparsam daha kötüsü upload yaparsam ne olacak?

Burada size ikinci bir veri lazım, yani ele geçirilse bile bir süre sonra çalışmayacak, sakın ola şifreyi gönderip id ve şifre ile kontrol etmeyin bu tehlikeli, kullanıcının arayüzünde . bir sıkıntı olabilir verileri kaptırabilir.

Peki ne yapmalısınız? Token!

Tokenlar api tarafından belirli süreler içinde üretilen verilerdir. Bu verilerin içine random keyler koyabilirsiniz. Kullanıcı logout olduğundan veya belirli bir süre sistem dışında bulunduğunda işlem yapmadığında bunu siler veya değiştirirsiniz yani kullanıcı tekrar işlem yapacağında bu veri değilmiş olacağında dışarıdan manipüle edilemez.

Yani kullanıcı şifresini ve diğer bilgilerini çaldırsa bile diğer kullanıcıların sistemlerine bir zarar gelmez.

Farklı senaryolar kurabilirsiniz login olunca token üretir bunu belirli bir süre sonra imha edebilirsiniz.
Belirli zaman aralıklarında kullanıcı gelse bile tokeni güncelleyebilirsiniz. 30 dakika gibi mesela. Token sistemi tek olduğu için diğer kullanıcıların kendi özel tokeni olduğundan diğer kullanıcılara bir zarar gelmez gibi.

Bunlar iyidir key üretmek iyidir :)

Sevgilerle.


Page generated in 0.0557 seconds.
3.143.168.172