Nie wiedziałem za bardzo w którym dziale napisać ten temat, przepraszam za ewentualny kłopot.
Na stronie chciałbym zrobić logowanie przy pomocy AJAX. Z samym logowaniem problemu nie ma. Problem zaczyna się, gdy użytkownik ma wyłączoną obsługę JavaScript - albowiem uniemożliwia to logowanie. Pozostawiam więc Ajaxa jak i cały JS tylko w celu zachowania na stronie dynamiki i ewentualnie dodatkowych 'efektów graficznych' interfejsu (jQueru) użytkownikom, którzy mają włączone JS. Cała reszta będzie się mogła obejść i bez tego.
Została sama kwestia logowania w sposób dynamiczny czy też nie. Pierwsze co wpadło mi do głowy, to:
- do formularza, z którego będzie logował się użytkownik, dodać niewidoczne pole typu hidden z domyślną wartością "noajax".
<input type="hidden" value="noajax" id="action" name="action" />
- w skrypcie js, dodać do danych POST zmienną "action" z wartościa "ajax"
var string = '&login=' + login + '&password=' + password + '&action=ajax';
Działanie jest proste - wprzypadku braku js, zmienna action wyśle się jako "noajax". W przeciwnym wypadku zmienna ta zostanie zastąpiona przy pomocy JS na wartość "ajax". Jestem świadomy możliwości manipulacji polem action w formularzu i doprowadzenia do "rzekomego" dynamicznego logowania.
W ten sposób, mogę sprawdzić w skrypcie PHP, jakim sposobem wysłano formularz. Pytanie mam następujące:
czy takie rozwiązanie jest bezpieczne i jakie jest na to bardziej profesjonalne rozwiązanie?