Re: Is this redundant? {OT}

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

 



Robin Kopetzky wrote:

Good afternoon.

I found this code in a program I'm renovating and think this is very
redundant. Also, it does slow queries down while doing all of the
conversions.

prod_id in the mysql database is declared an integer.

<SQL above>
	where prod_id = '" . (int)$prod_id . "' and
<SQL below>

Question: since $prod_is is already an integer, why would someone convert it
into an integer, then convert it into a string to later have mysql convert
it back into an integer?? Could someone shed some light on the intent behind
this weird code??


This is most likely a security measure and not redundant at all. Even if someone tries to "inject" malicious SQL into $prod_id, this code will cast it as an integer, discarding any non-numeric characters. For example, if $prod_id is "42; drop database foo;", that would be very dangerous. With the (int) cast, $prod_id will simply be cast to the integer 42. A good idea in my view.


--Dave

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


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux