Bir tarayıcı iletişim kutusunu önlemek için bir php komut dosyası. Htaccess doğrulama

3 Cevap php

Ben bir kullanıcının kimliğini doğrulamak php kullanarak, ardından perde arkasında, daha sonra yine tek. Htaccess kullanıcı adı ve ile ikinci kez doğrulanır şifre. Bu, tüm kullanıcılar için aynı olacaktır, ama ben onları tekrar bir kullanıcı adı ve parola girmek için ve şimdi şifre korumalı bir dizin girmek için izin olurdu var istemem. Ben kullanmayı tercih http://username@password:somedomain.com.

Herhangi bir düşünce?

3 Cevap

Bunu yapmamalısınız.

Ya:

  1. PHP kimlik doğrulama şemasını kullanın ve. Htaccess kimlik çıkarmak için. Htaccess korumalı dizine kodu ekleyin.

  2. Lütfen kimliği doğrulanmış kullanıcılar korunan içeriğin tüm erişecek hangi aracılığıyla yeni bir PHP sayfası / senaryo yazın. Web kök dışına korunan içeriği taşımak, ya da tüm erişimi reddetmek için. Htaccess dosyasını kullanabilirsiniz. Script dosyalara erişmek mümkün olacak, ancak kullanıcıların erişmek için komut dosyası üzerinden geçmek zorunda kalır.

Birden fazla giriş kaçınmak istiyorum ama HTTP kimlik doğrulaması gerekiyorsa, fiili giriş için only HTTP kimlik doğrulaması kullanabilirsiniz. PHP çıkarabilir ve bu başlıkların cevap olmasıdır.

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

Bu şekilde kullanıcı, bir pop-up alır, PHP okumak ve buna göre yanıt ve tarayıcı daha istemlerini ortadan kaldırarak sonraki istekleri ile geçecek edebilirsiniz.

Not: Bu çözüm PHP'nin CGI sürümleri için geçerli değildir.

(: Url düzeni @ geçmek Eğer kullanıcı adı kullanmak istediğiniz sürece) Üzgünüm, bu mümkün olduğuna inanmıyorum. Sen tarayıcı o bölgede (belki, ben aslında hiç denemedim) için auth hatırlıyorum demek ki, perde arkasında bunu yapmak için biraz ajax yazabilirsiniz. Ama hala adı / ne olursa olsun geçmesi gerekir.

Tarayıcıda açık metin parola iletilmesi değil güvenlik için bence o kullanıcı için biraz rahatsız edici olacaktır (Ben ağ üzerinden şifreyi iletmek için https kullanarak, ya da senin sen! Gerektiğini değilse varsayıyorum), fakat değil bence sorunsuz bir büyük miktarda.

Tabii ki sorunu çözecek, PHP diğer klasörde doğrulanmasının yapmak, ya da bir HTTP auth ile tek bir yerde tüm korumalı kod koymak, ama istediğiniz (ya da Cant) Yüklü varsayıyorum bu yapabilirdi.