除了检查会话变量是否为 NULL 之外,如何保护我的 Web 服务?
How do I secure my web service apart from checking session variable for NULL?
我编写了一个 web 服务,它基本上将数据插入中央数据库,并预计将被来自多个系统的多个客户端使用。
它可以工作,但问题是它可以被任何人访问,因此很容易被任何人使用,即任何人都可以通过输入数据或任何东西来发送垃圾邮件。
一种方法是检查会话变量,但我怎么知道使用系统的客户端的会话变量的名称,或者他可能没有那样进行身份验证?
那么我应该怎么做才能使其安全?
[WebMethod(EnableSession= true)]
public int InsertEngineeringData(string FunctionalLocation, string EqptType, string WINFileNo, string ComponentTagNo)
{
try
{
if (Session["User"] != null)
{
}
int EngineeringDataID = 0;
EngineeringDataDAL EngineeringDataDAL = new Vail_PlantWebApi.EngineeringDataDAL();
EngineeringDataID = EngineeringDataDAL.InsertEngineeringData(FunctionalLocation, EqptType, WINFileNo, ComponentTagNo);
return EngineeringDataID;
}
catch (Exception ex)
{
throw ex;
}
}
如果它是一个 asmx 网络服务,然后使用 link Crocoder 发布或其他快速方法,如果它有效,您可以尝试 [Authorize] 属性,尽管我不确定这是否适用于您正在使用的内联网络方法,我只看到它在 WebAPI 中使用过。 Authorize attribute in ASP.NET MVC
一种肯定有效的更稳健的方法是为用户 table 添加一个名为 'CurrentSessionID' 的列,另一个列为 'LastLoginDateStamp' 对于每个登录请求,如果您有有效用户您在那里更新他们的会话和日期戳。然后,当用户点击 api 时,您比较会话并确保它没有超过您确定的最后一次登录的有效阈值,例如 24 小时。
在那之后还有很多工作要做,但这是基本的想法。
我编写了一个 web 服务,它基本上将数据插入中央数据库,并预计将被来自多个系统的多个客户端使用。
它可以工作,但问题是它可以被任何人访问,因此很容易被任何人使用,即任何人都可以通过输入数据或任何东西来发送垃圾邮件。
一种方法是检查会话变量,但我怎么知道使用系统的客户端的会话变量的名称,或者他可能没有那样进行身份验证?
那么我应该怎么做才能使其安全?
[WebMethod(EnableSession= true)]
public int InsertEngineeringData(string FunctionalLocation, string EqptType, string WINFileNo, string ComponentTagNo)
{
try
{
if (Session["User"] != null)
{
}
int EngineeringDataID = 0;
EngineeringDataDAL EngineeringDataDAL = new Vail_PlantWebApi.EngineeringDataDAL();
EngineeringDataID = EngineeringDataDAL.InsertEngineeringData(FunctionalLocation, EqptType, WINFileNo, ComponentTagNo);
return EngineeringDataID;
}
catch (Exception ex)
{
throw ex;
}
}
如果它是一个 asmx 网络服务,然后使用 link Crocoder 发布或其他快速方法,如果它有效,您可以尝试 [Authorize] 属性,尽管我不确定这是否适用于您正在使用的内联网络方法,我只看到它在 WebAPI 中使用过。 Authorize attribute in ASP.NET MVC
一种肯定有效的更稳健的方法是为用户 table 添加一个名为 'CurrentSessionID' 的列,另一个列为 'LastLoginDateStamp' 对于每个登录请求,如果您有有效用户您在那里更新他们的会话和日期戳。然后,当用户点击 api 时,您比较会话并确保它没有超过您确定的最后一次登录的有效阈值,例如 24 小时。
在那之后还有很多工作要做,但这是基本的想法。