最近在家里无聊,想用 PHP7 搭一个自己的小博客框架,写了一个简易的后台管理页面,主要控制博客名称和发帖时所需的用户名密码,出现了这种奇怪的问题:当替换值是 Peter's_Blog 时,并没有替换,但如果是其他值,则正常替换,百思不得其解,我录了个 GIF 供大家参考
有没有大佬知道原因的,求指点😭😭😭
这是部分代码
1
yafoo 2020-02-01 21:52:28 +08:00 via Android
图片没显示,直接贴代码吧
|
2
Dreax 2020-02-01 21:53:39 +08:00 1
不要拼接 sql
|
3
loginv2 2020-02-01 21:54:58 +08:00 1
去掉单引号试试
|
4
zjsxwc 2020-02-01 21:56:32 +08:00 via Android 1
你直接拼 sql,然后你的名字包含了一个单引号,然后你不凉谁凉
|
5
webshe11 2020-02-01 22:01:57 +08:00
SQL 注入漏洞了解一下?
|
6
edk24 2020-02-01 22:58:36 +08:00 1
mysql:
Peter\'s_Blog sqlite: Peter''s_Blog 好像是这样的 |
8
laravel 2020-02-01 23:31:52 +08:00
我查看源代码,发现了图片
|
9
yc8332 2020-02-01 23:38:02 +08:00
很明显 sql 没有进行参数过滤。估计是直接拼接的吧。。用 pdo 进行参数绑定
|
10
wwcxjun 2020-02-01 23:43:43 +08:00 via Android
需要转义字符串 可以用 mysqli_real_escape_string
|
11
zsxeee 2020-02-02 03:44:24 +08:00 via Android
mysqli_real_escape_string()
|
12
ericgui 2020-02-02 09:46:07 +08:00 via Android
上面的答案是对的
|
13
soli 2020-02-02 11:14:13 +08:00
我靠,你的名字。。。
难道是姓裴? |
14
KINGOD 2020-02-02 11:28:52 +08:00
我注入我自己😂
|
15
wenyuyu 2020-02-19 15:16:19 +08:00
查看源代码才看到图片哈哈哈,
|
16
peterpei OP 感谢大家回复。。
🐶 |