#可以有效的防止SQL注入 会加上“” 之后写进sql中
$不能防止SQL注入 因为会直接写进sql语句中
使用#时:
1、用#来传递参数时,sql在解析的时候会加上“”,当成字符段来解析。例如id=“12”。所有很大程度上防止sql注入。
使用$时:
1、用 传 入 数 据 直 接 显 示 在 生 成 的 s q l 中 , 如 上 面 的 语 句 i d = 传入数据直接显示在生成的sql中,如上面的语句id= 传入数据直接显示在生成的sql中,如上面的语句id={12}直接解析为id=12,执行时会报错。
能用#尽量用#。
我们常用的sql注入的测试语句
select * from EPS_ENTITY_STATE a where a.id =‘1’ or ‘1’=‘1’
所以在测试时,我们常用 1’ or ‘1’='1来测试跨站
————————————————
版权声明:本文为CSDN博主「周大豆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41254254/article/details/80822030