url hatırlamak için teknik

7 Cevap php

Ben o oturum açmadan önce erişmek için çalışıyordu için URL / adresine bir kullanıcıyı yönlendirmek mümkün olan bir işlevselliği elde etmek için çalışıyorum

Örneğin:

  1. Bir kullanıcı kayıtlı üyeler sadece alanına erişmek için çalışıyor.
  2. O kaydedilir ve dizin sayfasına yönlendirilir değil mesajı verilir.

O günlükleri-in zaman başarıyla nasıl 'Adım 1' URL'ye yönlendirmek?

Ben yapmaya çalışıyorum açıklamak mümkün duyuyorum umuyoruz.

Herhangi bir yardım ve önerileriniz :-) için (peşin) thanks

7 Cevap

Sen URL kendisi bu URL geçebileceği:

if (!$loggedIn) {
    header('Location: http://example.com/login?return='.urlencode($_SERVER['REQUEST_URI']));
    exit;
}

Ve başarılı giriş yaptıktan sonra:

if ($loginSucessful) {
    if (isset($_GET['return']) && substr($_GET['return'], 0, 1) == '/')) {
        header('Location: http://example.com'.$_GET['return']);
    } else {
        header('Location: http://example.com/');
    }
    exit;
}

giriş formu gizli bir alanda isteği url depolamak ve bir kez bu url yönlendirme kaydedilir

Bu oturum açma sayfasına yönlendirilmeden önce oturumu (ya da belki hatta bir çerez) depolamak

http://example.com/login?redirect=/secured/resource: Geçmişte "nihai hedef", sayfa yönlendirme URL sahip doğrulama sayfasına geri yönlendirildi.

Parametre değerini kodlamak URL unutmayın. Eğer yönlendirme URL değerini işlerken Ayrıca, bu site veya bir phishing düzeni gibi herhangi bir güvenlik saldırıları önlemek için göreli bir URL bir URL olduğundan emin olun. Aksi takdirde, bir üçüncü taraf sitenizin giriş sayfası hedefleyebilir ve sonra tekrar kendi sitesine yönlendirmek ve kullanıcının güvenli oturumuna erişim olabilir.

Ben URL depolamak için oturumu kullanmayın sebebi, arama motoru örümceklerinin onlar güvenli ve giriş gerektirir sitenizde bağlantıları vurmak gibi oturumları oluşturma sonunda olabilir. Onlar kimlik zorunda olduğundan, oturumu sadece 30 dakika sonra zaman aşımı için oluşturulur.

Oturumda saklanması çok daha iyidir. Bu kullanıcı bir bağlantı (örneğin bir kayıt link) takip etmek ve hala içeri giriş yaptıktan sonra orijinal sayfaya yönlendirilmesini sağlar

Ben forumları, URL içine www.myurl.com?prevUrl = gibi bir şey koymak gördüm. Tabii ki depolanan URL encodeURI ile kodlanacak sahiptir.

HTTP kimlik doğrulama: ben gerçekten seviyorum şey kullanabilirsiniz. Gerektiği gibi aranızda ve derin bağlantıları özel Giriş sayfasına yönlendirme yok Bu şekilde çalışır. Trac imho, bu hakkı alır.

Diğer seçenek muhtemelen yaratıyor oturumda URL deposu olmasıdır. Eğer oturum açma oturumu yok etmezseniz, o zaman giriş yaptıktan sonra derin bağlantı yönlendirmek için kullanabilirsiniz.