相关疑难解决方法(0)

C#Byte []到Url友好字符串

我正在为一个我正在整理的简单网站开发快速验证码生成器,我希望在页面的URL中传递加密密钥.我可能很容易做到这一点作为一个查询字符串参数,但我希望不是这样(只是因为没有其他任何东西跑掉查询字符串)...

我的加密代码生成一个byte [],然后使用Convert.ToBase64String(byte [])将其转换为字符串.但是,这个字符串仍然不是友好的url,因为它可以包含'/'和'='之类的东西.有没有人知道.NET框架中更好的函数将字节数组转换为url友好字符串?

我知道所有关于System.Web.HttpUtility.UrlEncode()及其等价物,但是,它们只适用于查询字符串参数.如果我在路径内部对"="进行url编码,我的Web服务器会返回400 Bad Request错误.

无论如何,不​​是一个关键问题,但希望有人能给我一个很好的解决方案

**编辑:只是为了绝对确定我正在用字符串做什么,我想我会提供更多信息.

由我的加密算法产生的byte []应该通过某种算法提供,以使其成为url友好字符串.在此之后,它将成为XElement的内容,然后将其用作XSLT转换的源文档,并用作锚点的href属性的一部分.我不相信xslt转换导致问题,因为路径上出现的内容似乎是编码的查询字符串参数,但会导致HTTP 400

我也在base64字符串上尝试过HttpUtility.UrlPathEncode(),但这似乎也没有做到(我仍然在我的网址中以'/'结尾)**

c# base64 friendly-url

27
推荐指数
2
解决办法
2万
查看次数

如何加密ASP.NET MVC中的URL?

我需要在ASP.NET MVC应用程序中加密URL.

我是否需要在Route Collection中的Global页面中编写代码以加密所有URL?

asp.net asp.net-mvc asp.net-mvc-2

4
推荐指数
2
解决办法
7428
查看次数

显示主键是一种危险

当我从我视图中的帐户列表中选择一个帐户时,该URL显示如下内容:

http://example.com/BankAccount/EditBankAccount?bankAccountId=12

有没有办法隐藏主键,因为北方阻止某人编辑URL中的ID并发布它,以获得一个不同的帐户.

我可以添加代码以查看当前用户是否可以查看此帐户,但有更好的方法吗?

url asp.net-mvc

4
推荐指数
1
解决办法
355
查看次数

标签 统计

asp.net-mvc ×2

asp.net ×1

asp.net-mvc-2 ×1

base64 ×1

c# ×1

friendly-url ×1

url ×1