Ben kullanıcı girişleri almak için formların bir sihirbaz tabanlı serisi oluşturma. Bu sihirbaz için şartlardan biri kullanıcı 'Kaydet' düğmesini oturana kadar komut (PHP) veritabanına girişleri (MySQL) tasarruf edemez, bu yüzden cihaza başka bir form kullanıcı girişlerini taşımak için bir mekanizma var zaman kullanıcı tıklamaları 'Önceki' veya 'İleri' düğmeler. Ben kurabiye, oturumlar, geçici dosyalar vb dahil olmak üzere çeşitli yöntemler kullanarak içine baktım, ama ben base64_encoded serideki tüm formlarda var gizli bir alana veri serialize gömmek için yerleşti. Bu alandaki değeri form tabanlı gönderimleri üzerinde çözümlenmiş ve mevcut haliyle diğer değerler takıldıktan sonra bir sonraki formda koymak için yeniden kodlanmış olacaktır.
İşte gizli alan görünüyor nasıl bir örnek:
<input type="hidden" name="wizard:presave" value="YTo2OntzOjU6InRpdGxlIjtzOjEwOiJRdWVzdGlvbiAyIjtzOjQ6InRleHQiO3M6MTk6IlllcyBpdCdzIGEgcXVlc3Rpb24iO3M6NDoidHlwZSI7czo2OiJjaG9pY2UiO3M6NzoiY2hvaWNlcyI7YTowOnt9czo1OiJwb2ludCI7aToxO3M6Mjoib3AiO3M6MTM6ImVkaXRfZXhlcmNpc2UiO30=" />
Yani sorular şunlardır:
Bir iyi / kötü uygulama olarak kabul edilir?
HtmlForm gizli alanlardan herhangi bir uzunluk limiti var mı?
Olası güvenlik sorunları nelerdir?
Ve daha iyi alternatifler vardır? (Tercihen javascript kullanmadan açıklamalar ile)
Şimdiden teşekkürler!