首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询安全限制

问mysql查询安全限制
EN

Stack Overflow用户
提问于 2015-07-05 12:50:56
回答 1查看 127关注 0票数 4

我在这方面很缺乏经验,所以这似乎是个愚蠢的问题,但请耐心地听我说。

获得了一个mysql DB和一个查询,通过如下所示的PHP PDO:

代码语言:javascript
复制
SELECT p.*, group_concat( distinct c.color) as color, b.breeder_puppy_thumb , b.breeder_name
FROM puppy_list p 
JOIN puppies_join_colors pjc ON p.ID = pjc.puppy_ID 
JOIN puppy_colors c ON c.ID = pjc.color_ID 
JOIN breeder_list b ON b.ID = p.puppy_breeder_id 
WHERE p.puppy_breed = :breedName
GROUP BY p.ID
ORDER BY p.price DESC

ORDER BY子句可以是不同的(可以由不同的字段排序)。

我通过AJAX将这个查询发送到一个PHP文件,该文件将其发送到DB服务器-所以往返,4跳。

在我的网站中,有分页,它是动态完成的,所有数据都以大JSON对象的形式存储在内存中,并且处理是在这个JSON对象上完成的,在前端框架中(也是基于angularJS的分页),而不需要再次查询DB。

我的第一个问题是:给定这样一个查询,如果返回的行数为数千(数万),那么对单个查询的安全限制是什么?我应该返回多少行,这样才不会过度杀死客户端?

我的第二个问题是:我应该把处理的一部分从角度转移到后端框架,还是这样做?

如果我没有很好地表达这个问题,请告诉我,我会尽力解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2015-07-06 18:11:57

@拉杜·安德烈,德鲁·皮尔斯有一些有效的观点。

关于你的第一个问题=>,你可以做Facebook目前使用的“无限滚动”。这是一种显示分页的奇特方式。当用户到达底部或显示“加载更多”按钮时,加载更多的结果。参见这里的一个示例:http://www.w3bees.com/2013/09/jquery-infinite-scroll-with-php-mysql.html

关于第二个问题=>,一个很好的编程解决方案是让后端和前端都能正常工作,以防用户禁用java-脚本。但是,现在默认启用了js。我会说,保持JS前端和后端编程以及。你永远不知道用户禁用了什么。在这样做的时候,一定要记住移动设备,它们可能不会欣赏每页1000条,尤其是现在,几乎我们所有的浏览都是在移动设备上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31230505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档