RE: Secure redirection?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Zoran Bogdanov [mailto:delta.storm@xxxxxxxxxxx]
> Sent: Wednesday, November 05, 2008 5:42 AM
> To: php-general@xxxxxxxxxxxxx
> Subject:  Secure redirection?
> 
> Hi,
> 
> I'm building a login system with AJAX/PHP/MySQL.
> 
> I have worked everything out... AJAX is sending request to a php login
> script (login.php) who if authentication passes initializes the
session
> and
> sends the header using header("Location : registered_user_area.php");
> 
> The whole system works great without AJAX, but when I put AJAX in the
> story
> I ahve one problem:
> 
> 1.When the user is successfully authenticated the login.php sends the
> header, but the AJAX XMLHttpRequest call is still in progress waiting
> for a
> PHP response. So when PHP using the header function redirects to
> another
> page that page is outputed to the login form...
> 
> My PHP login snippet is:
> if ($res_hash == $u_pass) {
> 
>     $logged_user = $sql_execution->last_query_result->user;
> 
>     $sql_execution->exec_query("DELETE FROM seeds",false);
> 
>     $sql_execution->db_disconnect();
> 
>     session_start();
> 
>     $_SESSION['user'] = $logged_user;
> 
>     $host = $_SERVER['HTTP_HOST'];
> 
>     $url = rtrim(dirname($_SERVER['PHP_SELF']), '/\\') .
> '/mpls/index.php';
> 
>     header("Location: http://$host$url";);            //--That page
> ($host$url) is outputed in the login form...
> 
>     exit();
> 
> }
> 
> else {
> 
>     $sql_execution->exec_query("DELETE FROM seeds WHERE id=$row-
> >id",false);
> 
>     $sql_execution->db_disconnect();
> 
>     echo 'BLS';            //--This is sent when the password/username
> is
> wrong
> 
>     exit();
> 
> }

XmlHttpRequest calls do not necessarily have to be done asynchronously.
You can make the page wait for the Javascript's POST/GET request to be
completely fulfilled before continuing operation.


Todd Boyd
Web Programmer

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux