2011-10-21 14 views
45

Örneğin, bu Facebook eklentisine bakın. İstemci tarafında API anahtarı açıkça görülebilir. Başka bir kullanıcının bu anahtarı almasını ve bu özelliği başka bir sitede kullanmasını engelleyen nedir?İstemci tarafı Javascript'i kullanırken API anahtarları nasıl gizli tutulur?

Çok naif bir uygulamanın, isteğin geldiği alanı kontrol etmek olduğunu düşünmüştüm ama bunun gibi şeylerin taklit edilmesi kolaydır.

Benzer bir şey yaratırsam, kimlik doğrulama işlemini güvenli hale getirmeye nasıl başlarım?

Bu çalışmanın büyük bir kısmını istemci tarafında olmak istiyorum, ancak bir şekilde sunucu kimlik doğrulaması gerekli olabilir mi? Herhangi bir bağlantı veya tavsiye büyük ölçüde takdir edilecektir. Ben yararlı bulduğu API anahtarları hakkında

Güncelleme

Benzer question.

+1

Twitter'a baktınız mı? API anahtarı açık, ancak verileri test etmek için diğer bilgileri/sırrı kullanıyorlar –

cevap

12

Üç kelimeyle: sunucu tarafı doğrulaması. Belirli bir site için yanlış olan bir anahtar kullandığınızda, FB kendisi bir hata atar. API anahtarının gizli olması gerekmez (gizli anahtarın aksine).

+0

Bu durumda, her bir istek için api anahtarı değişecek mi? – Finglas

+0

@Finglas: Hayır. Neden yapmalı? API anahtarı uygulamanızı tanımlar ve bu tek bir etki alanına bağlıdır; Başka bir etki alanında kullanırsanız, API anahtarı AJAX yoluyla FB'de işaretlendiğinde ve UI yüklenmeyecek şekilde eşleşmez. – Piskvor

+5

Ben de bunu yapıyorum. Alan A'ya nasıl güvenebiliriz, eğer A sitesi tescil ettiysem, benden aynı anahtarı kullanarak B bölgesini yapmamı engelleyen, ancak istek göndermeden önce başlıkları tıkayan nedir? – Finglas

2

Bunu kendim yapmadım, ama endişelendiğiniz türden bir saldırıya, Siteler Arası Talep Sahteciliği (CSRF) adı verildiğini biliyorum. Bunun üzerindeki Wikipedia article, nasıl önleneceğine dair bazı ipuçları verir.

+0

Bu sorunun başlığı olmalı. '' Site İçi Talep Sahteciliğini Nasıl Önleyebiliriz? '' – mr5

+0

@ mr5" CSRF’yi Önleme "başlığı baş harfiyse, benim gibi ismi bilmeyen insanlar – Eponymous

+0

@Eponymous sorusunu bulamazlardı, siz haklısınız! Bu aptal yorumu neden yazdığımı hatırlayamıyorum. Görmezden gel. lol – mr5

İlgili konular