Web hizmeti kimin aradığını söylemek nasıl (Apache üzerinde PHP)

4 Cevap php

Php en SoapServer yerleşik sınıf kullanarak bir web hizmeti oluşturma. Ben bazı temel testler var ve iyi çalışıyor gibi görünüyor, ama şimdi ben servisini kullanabilirsiniz kim sınırlamak gerekir.

Aynı sunucu üzerinde yalnızca diğer komut (AJAX veya benzeri araçlarla aksine) bu sunucu tarafı yapardı benim hizmet tüketmek için çalışıyor ve bu olduğunu varsayarak, benim hizmet istekte sahibinin belirlenmesi herhangi bir araç var mı?

Ben erişim belirli kökenden gelen sadece isteklerine hizmet sınırı olabilir, ama bu sadece belirli komut dosyaları vs dizinde herhangi bir komut erişime izin verirseniz bağlı olarak, ya çok sıkı ya da çok güvenilmez görünüyor.

Ben orijinal isteyen komut www olacak kullanıcı bu yana sunucu üzerinde kullanıcı tarafından erişimi sınırlamak eğer ben sadece net değilim.

4 Cevap

Burada bazı seçenekler şunlardır:

  1. Vivek sözü, url önemli bir hile yapabileceği gibi, ben bu birçok kez kullanmış, ve o güzel çalışıyor, ve ayrıca hizmeti (farklı tüketiciler, farklı anahtarlar) tüketen kim izlemenize olanak sağlar

  2. Eğer IP tarafından komut kullanımını kısıtlamak olabilir. Bu kısıtlamaların atom bombası gibi, ben bu hizmeti özgün sunucu dışında verilen yerlerde çok kullanılan gördüm, ama bir VPN bir overkill olacaktır yerdir.

  3. Tabii, tam kimlik doğrulaması gerektiren, ancak bu programlama açısından ve kullanışlılık açısından hem de, çok fazla yükü vardır.

Ancak, ben sormak gerekir:

  1. aynı sunucuda yalnızca komut hizmeti tüketen eğer, neden tüm bir hizmet yapmak?
  2. Eğer bu (kısıtlı) hizmetini kullanan (sınırsız) sayfalar varsa, ne bu sayfaları kazıma kimseyi durdurma - olursa olsun hizmeti korumak ne kadar zor?

Her zaman sizin seçtiğiniz bir veri kaynağına karşı HTTP kimlik doğrulaması uygulayabilirsiniz. Apache kaynaklardan sayısız karşı Digest ve Temel kimlik denetimi yapmak için çeşitli seçenekler vardır (biz bir php WebDAV çözümünü güvence altına mod_auth_mysql kullanabilirsiniz), ancak PHP de app düzeyde bunu nasıl hakkında iyi belgelerine sahiptir.

http://php.net/manual/en/features.http-auth.php

Neden sadece localhost sankondan üzerinde web servisi yapmak değil mi?

Değil tamamen su geçirmez kuşkusuz, ama uygulamak için nispeten basit.

Ya Sankon üzerinde bir Güvenlik Duvarlı noktası üzerinde çalışan?

C.

Sen hava böcek gibi, yapılacak en ünlü API yıllardan olarak bir kayıt anahtarı kullanabilirsiniz ....

bir istek geldiğinde, bu yüzden size kodunu kontrol ve kullanıcı API kullanmak için kayıtlı olup olmadığını görebiliyordu.