Yani uzaktan SOAP sunucu için kendi oturum açma bilgilerini geçmek için kullanıcı gerektiren bir php soap istemci yazmaya çalışıyorum. İşte set-up/dilemma olduğunu:
- Kullanıcı yerel kimlik bilgilerini kullanarak yerel sitenin içine kaydeder ve SOAP istemci ile sayfaya gider.
- Kullanıcı şimdi POST formuyla arada, yerel sitede (9 kez 10 üzerinden) içine almak için kullanılan olanlar aynıdır, uzaktan Sabun sunucu için kimlik bilgileri, istenir.
- İstemci SOAP isteği ile birlikte SOAP başlığında kimlik geçer, istemci SOAP sunucu yanıt verir.
- Komut kullanıcı çıkış verileri görür, biter.
Şimdi kullanıcı orijinal çıktı ile ilgili verilerin diğer bazı bit istiyor. Problem $ _POST değişkeni uzun gitmiş olmasıdır. Kullanıcı bir sonraki isteği ile birlikte kimlik bilgileri içermelidir. Kullanıcı, başka bir yöntemle veri aramak için daha kolay karar verir ve serin SOAP istemci vazgeçer kadar tekrarlayın.
Web barındırma hizmeti sunucusu, bir web istemcisi üzerinden doğrudan erişilebilir ve kimlik bir çerez aracılığıyla korunur. Sunucu WDSL üzerinden sorgulandığında Ancak, herhangi bir kurabiye ya da diğer tarayıcı tarafı oturumuna aramaz; sadece soap isteği başlığındaki kimlik bilgilerini içerdiğini denetler.
Yani bu sorunun iki sürümü vardır:
Yerel oturum kimlik böylece bir aşağı oturumları tutarak, soap isteği geçirilen almak için 1) bir yolu var mı? (Hatta yerel tarafta kimlik doğrulama yöntemi üzerinde hiçbir kontrole sahip, farkında olun. Bu hiçbir yargı üzerinde sahip bölümlerin onlarca kapsayan, sistem boyunca her türlü ve her kullanıcı için kimlik doğrulaması denetleyen bir ev yetiştirilen Apache mod tarafından işlenir. Ben Global Değişkenler ile baktı ve kimlik bilgilerinin hiçbir ipucu görmek, ama sadece) PHP / Apache bazı temel güvenlik özellikleri hakkında aptal olabilir var.
2) Bu kimlik zaman bazı miktar (diyelim ki, 30 dakikalık bir oturum için kullanılabilir böylece PHP ikincil giriş yaptıktan sonra kimlik bilgilerini işlemek için güvenli bir yolu var mı?). Ilk noktaya dayalı, bu kimlik bilgileri çok gizli, bunun (vb, ya da onları görmek için bazı DB içine almak) orada birisi etrafında kurcalamak için basit bir yolu olabilir ve bu kimlik bilgilerini dışarı yankı almak gerektiğini aklınızda tutun
Bu paranoyak olduysa üzgünüm. Ben basit ötesinde güvenlik kimlik taşıma için kullanılan değilim "Şifrenizin koymak yerdir ... İyi, şimdi herkes seansın geri kalanı için birbirini bilir, ben yararlı şeyler çıktısı geri alabilirsiniz."
Herhangi bir temel güvenlik özellikleri için bile bir bağlantı yararlı bir başlangıç olacaktır.