[英]laravel how to properly esacpe inet_aton insertion?
因此例如将用户ip保存到db中:
$ip = Request::getClientIp();
...
$post->user_ip = DB::raw("inet_aton('$ip')");
$post->save()
我不太喜欢这段代码如何正确地转义$ ip变量?
编辑:我正在寻找一种绑定变量的方式,而不是像这样直接使用他:
DB::insert('insert into users (ip) values (?)', [$ip]);
防止SQL注入
从Laravel docs :
您还可以在连接实例上使用getPdo方法访问原始的基础PDO实例:
$pdo = DB::connection()->getPdo();
因此,在您的情况下:
$ip = Request::getClientIp();
$ip = DB::connection()->getPdo()->quote($ip); // the escaping part
$post->user_ip = DB::raw("inet_aton($ip)");
$post->save();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.