繁体   English   中英

laravel如何正确保存inet_aton插入?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM