Re: [PHP-DB] Slashes or no slashes

[email protected] (Karl DeSaulniers)
Newsgroups php.db
Message-ID <[email protected]>
On Aug 23, 2010, at 8:35 PM, Chris wrote:

>
>>> You use mysql_real_escape_string for queries on the way in.
>>>
>>> $query = "select * from table where
>>> name='".mysql_real_escape_string($_POST['name'])."'";
>>>
>>> You use htmlspecialchars on the way out:
>>>
>>> $value = htmlspecialchars($row['name']);
>>>
>>>
>>> --
>>> Postgresql & php tutorials
>>> http://www.designmagick.com/
>>>
>>>
>>> --
>>> PHP Database Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>
>>
>> Ah.. thanks Chris.
>> If I want to compare that value I get from the database to what a  
>> user
>> entered,
>> do I escape the value they entered or add htmlspecialchars to it  
>> before
>> comparing it to what comes out of the database.
>> Sorry this is such a PHP 101 question. If you have time to respond,
>> please do, otherwise no worries, I am sure I will figure it out.
>
> If you want to compare, you're doing a query - so use  
> mysql_real_escape_string:
>
> $query = "select blah from table where name='" .  
> mysql_real_escape_string($_POST['name']) . "'";
>
>
> When you print results, you use htmlspecialchars:
>
> echo "Your search for " . htmlspecialchars($_POST['name']) . "  
> returned X results<br/>";
>
> -- 
> Postgresql & php tutorials
> http://www.designmagick.com/
>
>
> -- 
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

Thanks Again Chris,
To be more specific. Is this correct?

function confirmUP($username, $password){
	$username = mysql_real_escape_string($username);

       /* Verify that user is in database */
       $q = "SELECT password FROM TBL-U WHERE username = '$username'";
       $result = $this->query($q);
       if(!$result || (mysql_numrows($result) < 1)){
          return 1; //Indicates username failure
       }

       /* Retrieve password from result */
       $dbarray = mysql_fetch_array($result);
       $dbarray['password'] = htmlspecialchars($dbarray['password']);
       $password = mysql_real_escape_string(md5($password));
       $password = htmlspecialchars($password);

       /* Validate that password is correct */
       if($password == $dbarray['password']){
          return 0; //Success! Username and password confirmed
       }
       else{
          return 2; //Indicates password failure
       }
    }

The password was added to the database with md5() applied after  
escaping.
Thank you for responding so quickly.

Karl DeSaulniers
Design Drumm
http://designdrumm.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.