function escapeIdent($str) {
return "`".str_replace("`","``",$str)."`";
}
Тем не менее, я бы посоветовал не избегать, а делать такой большой белый список из другого ответа.
Белый список должен быть не для всего сайта, а для конкретного утверждения, для которого он используется.
Хотя имя поля, предоставленное пользователем, может не содержать код для инъекции, оно все равно может представлять некоторую опасность.
Скажем, если злоумышленнику удалось заменить какое-нибудь безобидное имя поля, например surname
, более важным, например access level
, он может получить права администратора на сайте.