Commit 58938e24 authored by Alexander Butenko's avatar Alexander Butenko

Really sanitize orderBy and groupBy values

parent 1548e293
......@@ -339,7 +339,7 @@ class MysqliDb
{
$allowedDirection = Array ("ASC", "DESC");
$orderbyDirection = strtoupper (trim ($orderbyDirection));
$orderByField = filter_var($orderByField, FILTER_SANITIZE_STRING);
$orderByField = preg_replace ("/[^-a-z0-9\.\(\),]+/i",'', $orderByField);
if (empty($orderbyDirection) || !in_array ($orderbyDirection, $allowedDirection))
die ('Wrong order direction: '.$orderbyDirection);
......@@ -359,7 +359,7 @@ class MysqliDb
*/
public function groupBy($groupByField)
{
$groupByField = filter_var($groupByField, FILTER_SANITIZE_STRING);
$groupByField = preg_replace ("/[^-a-z0-9\.\(\),]+/i",'', $groupByField);
$this->_groupBy[] = $groupByField;
return $this;
......
......@@ -181,6 +181,7 @@ if ($db->count != 1) {
$db->join("users u", "p.userId=u.id", "LEFT");
$db->where("u.login",'user2');
$db->orderBy("CONCAT(u.login, u.firstName)");
$products = $db->get ("products p", null, "u.login, p.productName");
if ($db->count != 2) {
echo "Invalid products count on join ()";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment