“Gönderdiğiniz için teşekkür ederiz. Lütfen yönlendirilirken bekleyin. ” Gerekli?


11

Gönderdiğiniz için teşekkürler. Lütfen yönlendirilirken bekleyin.

Eğer otomatik olarak yönlendirilmediyseniz, lütfen buraya tıklayınız.

Muhtemelen bu gibi mesajlara aşinasınız, özellikle de 90'lı yıllarda veya 2000'lerin başında web'i kullanırken. Kendi projelerimde, örneğin kayıttan veya bir şey gönderdikten sonra yeniden yönlendirilirken kullanıcıyı 2-3 saniye bekletmek için bir neden bulamadım. Ancak bu desen, PHPBB gibi popüler web yazılımlarında bile her zaman ortaya çıkar.

Benim sorum şu ki, yönlendirmenin hala modern (ajaxy) web geliştirmede yeri / ihtiyacı var mı? Kesinlikle böyle bir yönlendirme gerektiren, sonuçta kullanıcıyı rahatsız eden durumlar var mı ve bunların arkasındaki teknik nedenler neler ? Yönlendirme gerekiyorsa neden yalnızca anında yönlendirme yapmıyorsunuz?


Sadece bir tahmin: belki bir şekilde senaryo eylemlerini veya botları önlemekle ilgilidir? Ancak bunu yapmak için daha iyi yöntemler vardır (Captchas vs.).

Kullanıcı isteği nedeniyle, PHPBB kurulumumu hemen yeniden yönlendirmek için değiştirdim. Sadece birkaç satır değişikliği aldı ve mükemmel çalışıyor.
André Paramés

@Martin: muhtemelen, ancak öyleyse tamamen yanlış yönlendirilmiştir, çünkü herhangi bir bot herhangi bir tarayıcı gibi yönlendirmeleri takip edebilir (özellikle PHPBB'de olduğu gibi bir Konum başlığı varsa).
André Paramés

Yanıtlar:


3

Kesinlikle böyle bir yönlendirme gerektiren, sonuçta kullanıcıyı rahatsız eden durumlar var mı ve bunların arkasındaki teknik nedenler neler?

En yaygın amaç (genellikle veritabanında yeni bir kayıt oluşturan, ödeme işlemini vb. Gerçekleştiren bir talep olması durumunda), kullanıcının "Yenile" düğmesine basması ve isteği yeniden göndermesi durumunda tekrarlanan isteklerin önlenmesidir.

Yeniden yönlendirmenin hala modern (ajaxy) web geliştirmede yeri / ihtiyacı var mı?

Javascript'i devre dışı bırakan kullanıcılara isteklerinin yok sayılmasını veya muhtemelen yanlış kullanılmasını ( "Birden fazla gönderme seçeneğini tıklamayın!" Mesajı akla gelir) söylemeyi başarabilirseniz - ancak bu ilginçliği desteklemek büyük bir çaba değil JS'yi devre dışı bırakan kullanıcılar ve faturalandırma departmanının ara sıra çift faturalama şikayetini görmediğinden emin olun, bu nedenle bir çok yönlendirme yine de birçok arayüzde uygulanmaktadır.

Yönlendirme gerekiyorsa neden yalnızca anında yönlendirme yapmıyorsunuz?

Yönlendirme gereken hedef çoklu form gönderimleri engellemek için ise anında çıkarılacak - belki de halsiz sunuculara yönelik ediyoruz zamanlı yönlendirmeler durumunda, bir oturum tabanlı kilidi faktörüne başarısız oldum, yoksa çalışıyoruz daha ezoterik bir sorunu çözmek.


"Yinelenen isteklerin önlenmesidir" --- sessiz konum yönlendirmesi de bunu yapar. Çünkü, bu olmamalı --- "Amaç birden formu gönderilmesini önlemek amacıyla ise yönlendirme anında verilmelidir" F5üzerinde Stand bysayfa olacak da yeniden gönderme yazı neden olur.
zerkms

@zerkms - Bir yanıt gövdesi gönderilmeden önce yeni bir konuma yönlendirmeyi öneriyorum (ör. "beklemede" sayfası yok)
danlefree

5

Her şeyden önce, Konum üstbilgisi verildiğinde tüm tarayıcılar yeniden yönlendirmez. İkinci olarak, devre dışı bırakıldığı için tüm tarayıcılar Javascript ile yönlendirme yapmaz. Üçüncü olarak, tüm tarayıcılar meta yenileme etiketlerini desteklemez. Bu vakaların herhangi biri muhtemelen çok nadirdir, bu yüzden önemli olmayacaktır. Ama öyle olsa bile, bence tüm bu yöntemlerin üstesinden gelebilirsiniz.

PHPBB sayfalarının bunu yapma şekli (5 saniye bekler). Hemen yeniden yönlendirmelidir ve eğer başlamazsa, üstbilgileri gönderdikten sonra HTML sayfasını (meta-yenileme ve üzerinde Javascript ve bağlantı içeren metin) görüntüler. Düzgün programlanmışsa bu sayfanın normal bir tarayıcı tarafından görüntülenme şansı neredeyse yoktur.


"Her şeyden önce, bir Konum başlığı verildiğinde tüm tarayıcılar yönlendirme yapmaz" [alıntı gerekli]
Jon Cram

@Jon Cram: teknik olarak web proxy'leri ve uzantılar konum başlığını etkileyebilir. Tarayıcı ayrıca standart olmayan bir kullanıcı aracısı olabilir ve site sahibi, bir kullanıcının kolayca takip edebileceği bir şey sunarak site dışı bağlantıları izleyerek cesaretini kırmaya çalışıyor.
Brian Lyttle

Sizi arama PHP header()işlevini aslında göz ardı edilebilir doğru okuyor musunuz ? Bu beni çok endişelendiriyor. HTML ve JS yönlendirme yöntemlerinin ve bunların nasıl daha az güvenilir olduklarının farkındaydım, ancak aslında sunucu tarafındaki bir HTTP başlığının gerçekten göz ardı edilebileceğini düşünmedim.
Lotus Notes

1
@Lotus Birçok kişi başlığı daha büyük bir sorunla göndermez. Birçok kişinin yapmadığı bir 3xx kodu eklemeniz gerekiyor. Bir tarayıcı isterse bu isteği göz ardı edebilir (ve bazı istemciler eminim; ana tarayıcılar olmasa da)
Joe Phillips

Ayrıca bir Konum başlığının mutlak bir URL göndermesi gerektiğini unutmayın , ancak bu genellikle yok sayılır.
Piskvor binadan


1

Bunu yapmanın ana nedeni, yeniden yönlendirdiğiniz sitede bir kayıt yapılmasıdır. Sayfa Google Analytics'i yükleyebilir, ancak veriler web günlüklerinde de olacaktır.

HTTP üstbilgilerini kullanarak bir yönlendirme gönderirseniz, tarayıcı orijinal siteye herhangi bir ek istekte bulunmadan diğer siteye gider. Javascript tabanlı izleme bu çıkışları yakalayabilir, ancak site sahibine izleme için daha iyi fırsatlar sunar.

Bazı durumlarda, kullanıcıya yönlendirildiklerinden daha fazla bir feragatname vermek isteyebilirsiniz. Bu, özellikle düzenlenmiş endüstrilerde çalışan web yöneticileri için önemlidir. Bankacılık veya ilaç gibi düzenlenmiş bir sektörde çalışmıyorsanız, bu gereksinimler için fazla bir takdiriniz olmayacaktır.


Özet olarak, bu model yalnızca kullanıcılarınızın web sitesindeki işlemlerini izlemeniz gerekiyorsa gereklidir?
Lotus Notes

0

Ayrıca geri düğmesinin düzgün çalışmasını sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.