在url中传递SQL查询

问题描述 投票:0回答:2

拥有 20,000 本书数据库的客户端有一个 75 页的菜单/子菜单系统。每个页面几乎相同,但需要加载相关的 SQL 查询。

有没有办法让每个菜单项在其 URL 链接中都带有关键字,而只需要一个页面接受每个菜单 URL 的相关搜索参数?

问题是如何将要查找的三个可能的关键字(菜单、子菜单和子子菜单)添加到 URL 中。第一个关键字有效,但无法使 AND 或 & 符号起作用,也不能让 NOT EQUAL (<>)

http://www.wherever.com/search-results-keywords.php?keywords=Uniforms_and_keywords<>已售出

顺便说一句,事情不可能这么简单,否则你可以破解任何数据库?

sql url
2个回答
0
投票

使用查询字符串 (

GET
) 时,请确保正确编码查询字符串

示例:

var url = "http://www.website.com/search.php?" + encodeURIComponent(params);

POST
可能更安全,因为您使用参数来查询数据库


0
投票

微软 Odata

提供一种轻松的方式与您的sql数据库交互。

与直接将 SQL 查询放入 URL 相比,http://.../?sql="select * from table where id = 'xxx'"

Odata 可以避免 sql 注入,但是你不能做 sql 能做的所有事情,

换句话说,Odata 有 limit 功能,而 sql 可以执行所有操作,

或者你甚至可以将存储过程(一堆sql)放入URL查询字符串中。

但是你必须开发一些东西来防止sql注入。

© www.soinside.com 2019 - 2024. All rights reserved.