Выполнение JS-сервера для генерации хэша для xhr

Существует защищенная от царапин форма . Входы входа и пароля имеют обфускационный атрибут имени :

<input id="login-username" name="r0pUsRqARu" value="" type="text" class="form-control" placeholder="Login"> 

На основе этих входных данных (включая значения входа и пароля) и поля ввода скрытого символа значение хэша создается клиентской стороной по функции js ( md5.js ).

 $("#btn-login").click(function(){ var ser = $( "#loginform" ).serialize(); $.post("/post.php",ser+"&hash="+md5(ser),function(){ location.replace("/logged.php");}); }); 

Форма сериализуется и отправляется как POST xhr (ajax) в post.php для входа в систему (см. Код выше).

Я хочу написать php-скрипт для автоматической регистрации через форму .

Нет проблем с получением формы на сервере, извлечением атрибутов имени, вставкой значений логина / пароля и запросом POST xhr на /post.php с сериализованной строкой.

 cV2sD3JzH2=login&3JX2zJ7QlC=password&char=%C2%AA&hash=... 

Тем не менее, поскольку хэш создается клиентской стороной js (по md5.js), я не могу создать хэш-серверную сторону php … Каков выход?

Некоторые мысли:

  1. Преобразуйте md5.js в серверный скрипт и выполните его для создания хэша. Как?
  2. Используйте AngularJS (или аналогичную структуру JS на сервере), чтобы запустить md5.js на сервере для создания хэша. Отказ от ответственности: я не знаком с AngularJS.

Обновить

Извините, я предположительно предположил, что могу получить значения атрибута обфускации имени и значение входного значения char на стороне сервера. Тем не менее, как упоминал RamRaider , without javascript enabled they are named *email* and *password* а скрытый ввод char в html при отключении javascript. Таким образом, при получении содержимого с помощью php cUrl (нет js-серверной стороны) у меня есть чистая форма без скрытого ввода char и unobfuscated name values, см. Ниже (удаленный стиль):

 <form id="loginform" method="post" action="/post.php"> <input id="login-username" type="text" name="email" value="" > <input id="login-password" type="password" name="password" > <a id="btn-login" href="#" class="btn btn-success">Login </a> </form> 

Снова JS трюки, которые не помогают серверу. Как я могу это исправить?

Я был serishing для JS, вставляя где-то новые значения атрибутов, но напрасно. Это должно быть что-то. как показано ниже:

 $('login-form').attr('name', <new value>);