gpt4 book ai didi

javascript - Ajax 安全性和代码隐藏功能

转载 作者:行者123 更新时间:2023-11-28 19:54:31 26 4
gpt4 key购买 nike

编辑:我知道你永远不应该相信客户端...我的问题是我可以用什么来验证,因为目前我期望三个参数,其中两个依赖于客户端侧面表格(注册电子邮件和电子邮件消息)

我可能会以错误的方式处理这个问题,但看起来 Ajax 不是很安全(嗯,呃..它是客户端..)你会如何创建一个函数,以便它不能通过控制台调用被入侵者入侵?

假设我有一个名为 SendMail 的函数,它接受 to、message 和 from 参数,并在其中向后面的代码发送 ajax 请求以发送电子邮件。

我可以添加什么来阻止您打开控制台、重新创建我的函数(除了文字变量)并通过控制台执行它?

背后代码:

<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
Public Shared Sub sendMail(subject As String, userEmail As String(), message As String)
Dim fromEmail As String = "supah@domain.com"
Dim fromAbrv As String = "hidden Tiger"
Try
Dim mail As New MailMessage()
Dim smtp As New SmtpClient("server.domain")
mail.From = New MailAddress(fromEmail, fromAbrv)
For i As Integer = 0 To userEmail.Length - 1
mail.[To].Add(userEmail(i))
Next
mail.Subject = subject
mail.Body = message
mail.IsBodyHtml = True
smtp.Send(mail)
Catch exc As Exception
Throw exc
End Try

End Sub

最佳答案

您不能相信您的客户端代码会阻止客户端执行任何操作。永远不要相信客户。将每个请求都视为被篡改和恶意的。

即使您设法“保护”该功能,攻击者也可以伪造整个请求。

在服务器端验证您的参数。

关于javascript - Ajax 安全性和代码隐藏功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22820437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com