PDA

View Full Version : embedd login form into website


giftsnake
27th October 2009, 17:22
hi, i am trying to include the login of ispconfig3 into a website. my guess was:

<form method="post" action="https://my.domain.com:8080/index.php" target="_blank">
<input type="hidden" name ="_action" value="login" />
<fieldset>
<legend>
ispconfig Login
</legend>
<input class="input_user" type="text" name="_user" onblur="if(this.value=='')this.value='Benutzer';" onfocus="if(this.value=='Benutzer')this.value='';" value="Benutzer" /><br />
<input class="input_pass" type="password" name="_pass" onblur="if(this.value=='')this.value='Kennwort';" onfocus="if(this.value=='Kennwort')this.value='';" value="Kennwort" /><br />
<input class="input_submit" type="submit" name="input_submit" value="Login" />
</fieldset>
</form>


it did not work (obviously, otherwise i would not post it here :p)
if someone has a working form, please post it here!
Thanks in advance, giftsnake

giftsnake
4th November 2009, 15:58
hm, maybe i posted in the wrong forum :-/

falko
5th November 2009, 15:32
What happens when you submit the form?

giftsnake
5th November 2009, 15:58
same as if i call the interface in the browser. the username and the password does not do anything

giftsnake
9th November 2009, 13:10
//* Login Form was send
if(count($_POST) > 0) {

//** Check variables
if(!preg_match("/^[\w\.\-\_]{1,64}$/", $_POST['username'])) $error = $app->lng('user_regex_error');
if(!preg_match("/^.{1,64}$/i", $_POST['passwort'])) $error = $app->lng('pw_error_length');

//** iporting variables
$ip = $app->db->quote(ip2long($_SERVER['REMOTE_ADDR']));
$username = $app->db->quote($_POST['username']);
$passwort = $app->db->quote($_POST['passwort']);

-> changed the variables in the submit-form to 'username' and 'passwort'
what happens:
the login button calls the index.php page with:
https://domain.com:8080/index.php?username=myusername&passwort=mysecretpassword

i still get no login. any ideas?

till
9th November 2009, 14:00
The login form works with ajax, you can not use a external login form in ispconfig 3 withour rewriting the ispconfig login mechanism.

giftsnake
9th November 2009, 18:59
why is the following code in the mechanism:
if(count($_POST) > 0)

is it just for "login as <user>" from inside the panel?

till
9th November 2009, 19:13
A ajax request is a post request.

giftsnake
9th November 2009, 19:18
maybe i dont get it right...
you implemented the 'post'login, but i still have to rewrite the mechanism?

looks to me that i just have write the correct form to submit the data to the loginscript, right?

till
9th November 2009, 19:38
looks to me that i just have write the correct form to submit the data to the loginscript, right?

No. Everything in ispconfig is loaded by ajax, so after the login, the ispconfig ajax scripts replace just some parts on the same html page that displays the login script and does not load the whole page again. So if your page is not the ispconfig outer html page, then nothing gets replaced and you dont get the ispconfig interface as the result.

Also be aware that browsers block all cross domain post requests, so if your login form does not run on the same port and under the same domain then the ispconfig interfcae, all modern browsers will block any post data.