Php - Laravel Api Güvenliği
Merhaba arkadaşlar. Şu anda react native ile bir sosyal medya uygulaması geliştiriyorum. Veritabanı olarak mysql kullanıyorum. Uygulamayı mysql veritabanı ile bağlamak için php veya laravel ile bir web servis yazmayı düşünüyorum. Ama kafama takılan bir soru var. O da şu:
Örneğin bir saldırgan benim mobil uygulamamı indirdi. Kayıt oldu ve giriş yaptı. Bir kişinin profilini görüntülerken react native'den example.com/api/profiledetail/1 web servise istek yaptı. Saldırgan uygulamanın trafiğini vs. izleyerek bu web servise kendisi bir uygulama geliştirerek ulaşabilir. Aslında bu web servis herkese açık bir şekilde olmuş oldu.
Farklı bir senaryo olarak kullanıcı post paylaşmak istediğinde example.com/api/sharepost adresine api ile post_content, post_sharer_id (post paylaşan kişinin id'si) gibi bir istek attı. Saldırgan kendi yazdığı mobil uygulama ile benim web servisime istek atabileceği için post_sharer_id yerine rastgele bir id yazarak başkasının adına bir post paylaşabilir.
Benim istediğim bu web servise sadece benim mobil uygulamamdan istek atılabilsin. Eğer farklı bir mobil uygulamadan istek gelirse bu isteği kabul etmesin. Bu konuyu nasıl çözebilirim ya da bu konuyla ilgili Türkçe kaynaklar var mıdır? @tayfunerbilen hocam sizin bu konu hakkında bir bilginiz var mıdır acaba?
Çözümü çok basit dostum. Öncelikli olarak middleware kullanımını devreye sokacaksın. Ardından JWT kullanarak bveya laravelin kendi kütüphanelerinden birini tercih ederek token sistemi oluşturup kullanabilirsin.
JWT'nin Resmi Websitesi
Laravel Passport
Middelware Kullanımı