gpt4 book ai didi

php - mysql查询安全限制

转载 作者:可可西里 更新时间:2023-11-01 07:44:21 25 4
gpt4 key购买 nike

我在这方面经验不足,所以这似乎是一个愚蠢的问题,但请耐心等待。

通过 PHP PDO 获得了一个 mysql 数据库和一个查询,如下所示:

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 文件,该文件将其发送到数据库服务器 - 所以往返,4 跳

在我的网站上,有分页,它是即时完成的,所有数据都以一个大的 JSON 对象的形式存储在内存中 - 处理是在前端框架中对该 JSON 对象完成的(angularJS 基于 - 分页),无需再次查询数据库。

我的第一个问题是:给定一个像这样的查询,返回的行数以千计(数万),对单个查询设置的安全限制是多少?我应该返回多少行才不会过度杀伤客户?

我的第二个问题是:我应该将部分处理从 Angular 转移到后端框架还是像这样继续下去?

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

最佳答案

@Radu Andrei,Drew Pierce 有一些正确的观点。

关于你的第一个问题 => 你可以做 Facebook 目前正在使用的“Infinity Scroll”。这是一种显示分页的奇特方式。当用户到达底部或显示“加载更多”按钮时加载更多结果。请在此处查看示例:http://www.w3bees.com/2013/09/jquery-infinite-scroll-with-php-mysql.html

关于你的第二个问题 => 一个好的编程解决方案是让后端和前端都正常工作,以防用户禁用 java 脚本。但是,现在默认启用js。我会说保留 JS 前端,同时对后端进行编程。您永远不知道用户禁用了什么。这样做时始终牢记移动设备,他们可能不会欣赏每页 1000 个项目,尤其是现在,我们几乎所有的浏览都是在移动设备上进行的。

关于php - mysql查询安全限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31230505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com