[Wolves] Replacing globals on with off php

Wayne Morris waynelists at machx.co.uk
Tue Apr 5 18:22:28 UTC 2011


Hi,

Cool, thanks for that, I'll have a play.

Cheers

Wayne


On 05/04/2011 19:12, David Goodwin wrote:
> Depending on where the data came from...
>
> $email = $_POST['email'];
> or
> $email = $_GET['email'];
> or even :
> $email = $_COOKIE['email'];
>
> Get rid of 'session_is_registered' and replace with if(isset($_SESSION['key'])) { ... }
>
> So, e.g. if you're able to make widespread changes, try the following.
> The main problem is I don't know where your getting variables from - it could be from a POST (form submission), the URL (GET) or the session or a cookie....
>
>
> session_start(); // put in some common include file; don't hide in a function.
> $ADMIN_USER = 'xxxx';
> $ADMIN_PASS = 'xxxx';
>
> $is_user = verifyUser($_POST['user'], $_POST['passwd']);
> $is_admin = verifyAdmin($_POST['user'], $_POST['passwd']);
>
> function verifyUser($user, $passwd) {
>      global $ADMIN_EMAIL;
>      $user = db_escape($user);
>      $passwd = db_escape($passwd)
>      $result = mysql_query('SELECT email,passwd FROM user WHERE email = '$email' and BINARY passwd='$passwd') or die("Ick...");
>         if(mysql_num_rows($result) == 1) {
>             $_SESSION['user'] = $user;
>             $_SESSION['passwd'] = $passwd;
>             return true;
>         }
>      }
> }
> function db_escape($string) {
>      if(get_magic_quotes_gpc()) {
>          $string = stripslashes($string);
>      }
>      return mysql_real_escape_string($string);
> }
>
>>     function verifyAdmin($user, $passwd)
>>     {
>>         global $ADMIN_NAME, $ADMIN_PASS;
>            return $user === $ADMIN_NAME&&  $passwd == $ADMIN_PASS;
>>     }
>
>
> thanks
> David.
>
> On 5 Apr 2011, at 18:56, Wayne Morris wrote:
>
>> Got an old bit of php (a classified ads site ) which I like but used 'register globals on' and I understand this is not a good idea.
>> So can someone give me a starter for ten to get rid of the globals bit (don't really understand how they worked anyway)  eg in this snippit which is for logon:
>>
>> function verifyUser()
>>     {
>>         global $ADMIN_EMAIL;
>>         session_start();
>>         global $email, $passwd;
>>         if( session_is_registered( "email" )&&  session_is_registered( "passwd" ) )
>>         {
>>             $result = mysql_query( "SELECT email, passwd FROM user WHERE email='$email' AND BINARY passwd='$passwd'" ) or error( "Login failed, please contact<a href=\"$ADMIN_EMAIL\">adminstrator</a>" );
>>             if( mysql_num_rows( $result ) == 1 ) return true;
>>         }
>>         return false;
>>     }
>>     function verifyAdmin()
>>     {
>>         session_start();
>>         global $ADMIN_NAME, $ADMIN_PASS, $adminPasswd, $adminName;
>>         if( session_is_registered( "adminName" )&&  session_is_registered( "adminPasswd" ) )
>>         {
>>             if( $adminName == $ADMIN_NAME&&  $adminPasswd == $ADMIN_PASS )
>>                 return true;
>>         }
>>         return false;
>>     }
>>
>> cheers
>>
>>
>>
>> _______________________________________________
>> Wolves LUG mailing list
>> Homepage: http://www.wolveslug.org.uk/
>> Mailing list: Wolves at mailman.lug.org.uk
>> Mailing list home: https://mailman.lug.org.uk/mailman/listinfo/wolves
>
> _______________________________________________
> Wolves LUG mailing list
> Homepage: http://www.wolveslug.org.uk/
> Mailing list: Wolves at mailman.lug.org.uk
> Mailing list home: https://mailman.lug.org.uk/mailman/listinfo/wolves




More information about the Wolves mailing list