我知道这可能听起来很奇怪,我当然可以解决我的问题。我在服务器端代码上使用SQL,语句类似于以下内容:
SELECT myCol FROM mytable WHERE myCol2=url_parameter
url_parameter
是通过URL传递的字符串。有没有办法将url_parameter
设置为某些内容,但仍能获得表格中的所有事实?
答案 0 :(得分:1)
不应该;如果有,那么服务器端的编写方式将允许SQL注入攻击,这可能是一个比你想要解决的问题更大的问题。
如果您能够修改服务器端代码,则可以通过运行不具有WHERE条件的查询的变体来响应某些参数值或参数值组合。或者还有其他选择......但是你已经说过你可以解决它,所以我认为你有其中一个想法。
答案 1 :(得分:1)
处理此问题的常用方法是使用如下所示的查询:
SELECT myCol
FROM mytable
WHERE myCol2 = url_parameter OR url_parameter IS NULL; -- or url_parameter = '';
如果要更改SQL字符串而不是传递参数,则可以在要获取所有值时插入值myCol2
(不带引号)。但是,您应该使用参数。