如何在aspx.net中加密查询字符串?
PS我意识到这不提供安全性.我只是想混淆一个谜题.
PPS虽然我将CKret的答案标记为正确答案(对于问题,我认为他是最正确的答案).但是,对于我自己,我只是想尝试ChoasPandion的加密替代方案.如果我需要更多的安全性,我会看看CKret或Ian的.
我有一个选择下拉列表,其id映射到值.在onChange事件上,我想重定向到同一个url但是在查询字符串后附加了'id = value'.
如何检查此'id'选项是否已存在于查询字符串中(我不想要多个值)并根据需要替换/追加.
我如何检查'?' 已经在查询字符串中并且如果不是则附加到url.
使用jquery有一个简单的方法吗?
它必须在引擎盖下做类似的事情$().ajax(url, {options}) .我希望我能做到$().redirect( url, { id : $(this).val() })或做某事.
提前致谢.
注意:此页面可能有或没有传入一些不同的查询选项(在其他表单选项上设置默认值),因此替换整个查询字符串不是一个选项.
<html>
<head><script type="text/javascript" src="/jquery-1.3.2.min.js"></script></head>
<body>
<script>
$(function(){
$('#selector').change(function(){
// problem if 'id' option already exists
var url = location.href + '?;id=' + $(this).val();
location.assign( url );
});
});
</script>
<a href="#" onclick="location.assign( location.pathname )">reset</a>
<form>
<select id='selector' name='id'>
<option value='1'>one</option>
<option value='2'>two</option>
<option value='3'>three</option>
</select>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我一直在使用哈希在页面之间传递数据(比如设置scrollTop()等),并且还使用hashChange事件来触发给定页面上的更改.
但是,哈希具有我不一定感兴趣的默认行为,例如使页面跳转到给定(有时无关紧要)的位置.
我觉得获取/设置查询字符串会更合乎逻辑,但是:
是吗?
设置查询字符串时是否有可以监听的事件?
我应该知道与查询字符串相关的行为吗?
在我的一个页面上,我有一个require_once('../path/to/url/page.php');没有问题的工作.我添加查询字符串的那一刻require_once('../path/to/url/page.php?var=test');它将不再包含该文件.它只是空白.任何人都有任何想法?你能否在require中使用查询字符串?
谢谢,瑞恩
在ASP.NET中使用QueryString时,我一直在寻找一些最佳实践指南,但实际上并没有找到.
我找到了一篇有用的优化文章:http://dotnetperls.com/querystring
但我更感兴趣的是回答以下问题:
等等...
任何更多的指南将不胜感激!
我试图从asp.net应用程序发送请求到这样的"http://mysite.dk/tværs?test=æ"的URL,并且我无法正确编码查询字符串.或者可能正确编码了查询字符串,我连接的服务只是无法正确理解.
我试图用不同的浏览器发送请求并记录他们如何使用Wireshark对请求进行编码,我得到了以下结果:
Firefox: http://mysite.dk/tv%C3%A6rs?test=%E6 Ie8: http://mysite.dk/tv%C3%A6rs?test=\xe6 Curl: http://mysite.dk/tv\xe6rs?test=\xe6
Firefox,IE和Curl都会从服务中获得正确的结果.请注意,它们在查询字符串中以不同方式编码丹麦特殊字符'æ'.
当我使用HttpWebRequest从我的asp.net应用程序发送请求时,URL以这种方式编码:
http://mysite.dk/tv%C3%A6rs?test=%C3%A6
它以与url的路径部分相同的方式对查询字符串进行编码.远程服务不理解这种编码,所以我得不到正确的答案.
记录中,'æ'(U + 00E6)是ISO-LATIN-1中的%E6,以及UTF-8中的%C3%A6.
我可以更改远程服务以接受UTF-8编码的查询字符串,但随后该服务将停止在浏览器中工作,我对此并不感兴趣.有没有办法指定.NET不应该使用UTF-8编码查询字符串?
我正在创建这样的webrequest:
var req = WebRequest.Create("http://mysite.dk/tværs?test=æ") as HttpWebRequest;
Run Code Online (Sandbox Code Playgroud)
但问题似乎来自System.Uri,它显然是在WebRequest.Create中使用的:
var uri = new Uri("http://mysite.dk/tværs?test=æ");
// now uri.AbsolutePath == "http://mysite.dk/tv%C3%A6rs?test=%C3%A6"
Run Code Online (Sandbox Code Playgroud) 我想知道是否有一个jQuery函数可以检查是否设置了URL中的变量.
类似于PHP中的isset()函数
谢谢
我有几个页面使用查询字符串突出显示菜单中的选项,页面上的所有网址都有currant查询字符串,因此如果用户点击链接,相同的菜单选项将在下一页突出显示.
但是,当有人在没有包含在URL中的查询字符串的情况下访问页面时,问题就会出现,菜单选项不会突出显示.
我想要做的是检查URL以查看是否存在查询字符串,如果不存在,则创建一个.
网址是这样的 www.mysite.co.uk/Folder1/Folder2/Page.php?id=3
?id=1如果url中还没有一个查询字符串,我希望默认的查询字符串.
关于你如何做到这一点的任何想法?
如果用户使用URL访问会发生什么 www.mysite.co.uk/Folder1/Folder2/Page.php?
URL会以最终结尾 www.mysite.co.uk/Folder1/Folder2/Page.php??id=1
还是会的? www.mysite.co.uk/Folder1/Folder2/Page.php?id=1
谢谢,
是否有可能使Django的QueryDict保留原始查询字符串的排序?
>>> from django.http import QueryDict
>>> q = QueryDict(u'x=foo³&y=bar(potato),z=hello world')
>>> q.urlencode(safe='()')
u'y=bar(potato)%2Cz%3Dhello%20world&x=foo%C2%B3'
Run Code Online (Sandbox Code Playgroud) 我正在处理的Web应用程序使用/image?name=a.gif等URL提供图像.页面加载缓慢部分是因为浏览器没有缓存图像.
是否有任何组合的http标头会说服IE缓存图像,即使URL中有查询字符串?我试图避免浏览器发出任何不必要的请求(包括if-modified-since类型请求)
我很满意只适用于IE(6+)的解决方案.另外,我知道我可以通过URL重写来避免这个问题 - 我只是对更好地理解浏览器缓存感兴趣.
谢谢
query-string ×10
url ×4
asp.net ×3
http ×2
jquery ×2
php ×2
.net ×1
c# ×1
caching ×1
django ×1
encoding ×1
encryption ×1
javascript ×1
obfuscation ×1
pageload ×1
python ×1
require ×1