esc_sql()
esc_sql( string|array $data ) 转义MySQL查询中使用的数据。Escapes d…
esc_sql( string|array $data )
转义MySQL查询中使用的数据。
Escapes data for use in a MySQL query.
目录锚点:#说明#参数#返回#源码#笔记
说明(Description)
通常应该使用wpdb::prepare()准备查询。有时,点逸出是必需的或有用的。一个例子是为in子句准备数组。
注意:由于4.8.3,“%”字符将替换为占位符字符串,这将防止发生某些SQLi攻击。行为的这种更改可能会导致代码出现问题,这些代码希望esc_sql()的返回值可用于其他目的。
参数(Parameters)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
$data | (string | array) | 必需 | 未转换的数据 |
返回(Return)
(string|数组)转义数据
源码(Source)
/** * Escapes data for use in a MySQL query. * * Usually you should prepare queries using wpdb::prepare(). * Sometimes, spot-escaping is required or useful. One example * is preparing an array for use in an IN clause. * * @since 2.8.0 * * @global wpdb $wpdb * * @param string|array $data Unescaped data * @return string|array Escaped data */ function esc_sql( $data ) { global $wpdb; return $wpdb->_escape( $data ); }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
2.8.0 | wp-includes/formatting.php:4269 | 9 | 1 function |
笔记(Notes)
需要注意的是,此函数将只转义要在查询中的字符串中使用的值。也就是说,它只为SQL中引号内的值提供转义(如字段‘{$escaped_value}’)。如果您的值不在引号内,那么您的代码仍然容易受到SQL注入的攻击。例如,这是易受攻击的,因为转义值在SQL查询:ORDER by{$escritedu value}中没有被引号包围。因此,此函数不转义未引用的数值、字段名或SQL关键字。。
基本示例
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!