我明白,如果没有任何保护措施(加倍''')我们可以简单地使用
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 1 Then Exit Sub 'or which ever column you enter for
Dim str_Act, str_Test As String
Dim i As Integer
'find value to search
str_Act = InputBox("Enter User Last Name")
If str_Act = "" Then Exit Sub
'loop to find search
Do While str_Act <> str_Test
str_Test = Sheets(1).Range("A1").Offset(i, 0) ' or whichever column has your value
i = i + 1
Loop
'Copy and paste
Sheets(1).Range("A1:ZZ1").Offset(i - 1, 0).Copy
Target.PasteSpecial
End Sub
但是当服务器加倍时,我该如何做到这一点?根据我的研究,我们似乎使用了\但我仍然感到困惑。
我试过了:
'or'1=1--
但是我收到语法错误。我有什么误会?谢谢
答案 0 :(得分:0)
如果您正在尝试避免SQL注入,最佳做法是避免直接将查询插入数据库的函数(例如mysqli_query()
。相反,存储过程和预准备语句可以提供针对SQL的一层保护请参阅w3schools上的prepared statements和MySQLTutorial上的stored procedures。
但是,您可以在所有插入的数据上使用PHP函数mysqli_real_escape_string()
和htmlspecialchars()
来插入撇号(&#39;和&#34;)来解决问题。这种方法绝不安全,但允许使用这些字符插入数据,并且 - 谁知道 - 停止一个非常有效的黑客。