Mih*_*nca 2 php sql database postgresql
我在facebook的postgres数据库中存储用户喜欢的页面,其中一个是Sinead O'Connor的页面.看起来当它到达撇号时,它会终止查询,因为撇号匹配,因此会导致错误:
$json_likes=json_encode($likes);
echo $json_likes;
$query = "UPDATE public.account_recover_users SET user_likes='$json_likes' WHERE user_mail='$email'";
$result = pg_query($query);
if(!$result)
exit('{ "status": false }');
else exit('{ "status": true }');
Run Code Online (Sandbox Code Playgroud)
现在我得到的是:
Warning: pg_query() [<a href='function.pg-query'>function.pg-query</a>]: Query failed: ERROR: syntax error at or near "Connor" LINE 1: ...l","page_id":"243440865683470"},{"name":"Sinead O'Connor","p...
Run Code Online (Sandbox Code Playgroud)
知道我应该怎么处理这个?我的应用程序的用户可能在他们喜欢的页面中有各种各样的字符.
很高兴你不是要为Bobby Tables存储页面.您的应用程序容易受到SQL注入攻击- 为了您自己的利益,请执行转义撇号.
TL; DR:您附加的文本中的撇号与应用程序中硬编码的撇号匹配,格式化SQL命令.因此错误.
编辑:从评论中移动这里.这是一个很好的指导如何在PHP中防止SQL注入
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |