首页 > 解决方案 > 我们如何在将 url 存储到 C# 中的数据库之前对其进行验证?

问题描述

我需要将 url 存储到数据库中。在将其存储到数据库之前,我们需要测试该 url 是否有效,并通过在存储前加载或下载该 url 来尝试插入 exe 或 .js url 来检查是否存在攻击。

我使用的是WebRequest,但它对一些有效的 url 抛出了 HTTP 403 错误:

var webRequest = WebRequest.Create(url);
var webResponse = webRequest.GetResponse();

然后我尝试WebClient了,它在本地工作,但是当我连接到服务器中的 VPN/托管时,它也失败并抛出 HTTP 403 Forbidden 错误:

using (WebClient webClient = new WebClient())
{
    webClient.Headers.Add("user-agent", "test");
    string content = webClient.DownloadString(url);
} 

那么你能帮我如何实现这个验证吗?请建议

我也在使用Uri.TryCreate(url, UriKind.Absolute, out uriResult)which 可以很好地验证 url 格式,但我需要一些帮助来检查 url 攻击。

谢谢

标签: c#urluriwebclientwebrequest

解决方案


推荐阅读