PHP API Key Generator

4 Cevap php

Herkes PHP için herhangi bir API key generator script / sınıfın biliyor mu? Sınıf yöntemi bu anahtar geçerli olup olmadığını kontrol etmek için, bir anahtar ve isValid () yöntemini üretecek, üretmek olmalıdır.

4 Cevap

API anahtarları üretmek için birden fazla yolu vardır. Ben uygulamalara bağlı olarak 3 yöntemleri izleyerek kullandım,

  1. Base62 (rastgele). Büyük bir güvenli rasgele sayı ve Base-62 kodlamak o oluşturun. Anahtar "w5vt2bjzf8ryp63t" gibi görünüyor. Bu kendi kendine sağlanan sistemi için iyidir. Sen çarpışma ve uygunsuz tuşları hakkında endişelenmenize gerek yok. Sen anahtar geçerli olup olmadığını bilmek veritabanı kontrol etmek zorunda.

  2. Base62 (MD5 hmac (anahtar, Normale (referer))). API, yalnızca tek bir siteden izin veriyorsa, bu harika çalışıyor. Sadece normalize referer bir HMAC kontrol edin ve anahtar geçerli olup olmadığını, hiçbir veritabanı erişimi biliyorum. Bunu yapmak için HMAC anahtarı gizli tutmak gerekir.

  3. İnsan "example.com" gibi dostu adları atanır. API kullanıcıların bir etki sahibi olmak gerekli ya da kurumsal ortakları ise bu harika çalışıyor.

API tuşları hiçbir güvenlik olduğunu unutmayın. Bu sadece API uygulaması için atanmış bir isim. Daha fazla insan gerçekten ne olduğunu yansıtmak için "App ID" veya "Dev kimliği" gibi terimleri kullanıyor. Eğer consumer_key/consumer_secret OAuth gibi, sizin protokol güvenceye istiyorsanız başka bir gizli anahtarı atamanız gerekiyor.

sadece sha1(salt + time + mac-addr + another salt + some other random data) crc32 veya md5 de sha1 inestead çalışacak ve bir veritabanında depolamak gibi bir şey (sahte kod) kullanımı ve anahtar varsa o isValid () db denetler?

Well as it has been mentioned, it is all dependant on the situation. One method that I needed to use was to authenticate a referer url with a specifically assigned API key. So with the API key all that was really needed was (pseudo) key = md5(referer url + name + salt) which you then can have a checksum for. I know it has been mentioned similar to this before, but it is just that way. As for the isValid() function, all you need to do with this is compare it against the checksum and URL.

Edit: S: Sadece orijinal soruya yaş fark

Ne istediğinize bağlı olarak, anahtarlarını oluşturmak ve API erişimi yönetmek için 3scale gibi bir şey kullanabilirsiniz. Bu anahtarları üretir, ama aynı zamanda hızı sınırlarını, analitik vb izler ve API Devs yeni anahtarlar oluşturmak için olanak sağlar.

https://support.3scale.net/libraries: konnektörleri biri olarak bir PHP kütüphanesi var