所以这是一个奇怪的事情要找出来。最近,我正在阅读一些有角度的文档并遇到了 - tutorial。在第9步中提到的example中,我对查看网址时有点怀疑。
正如您所看到的,在网址中有这个!在#之后标记。这是什么 !用于URL的标记?
我知道在网址中使用#mark,但不确定使用!标记在一个。在这种情况下,谷歌也没有多大帮助。
稍微使用网址,我开始知道 -
%2F
表示正斜杠,顺便说一句。也许不是一个大问题,但我想知道它的含义和用法!标记
答案 0 :(得分:1)
这被称为“hashbang”。它是一种流行的,但现在已经失去信誉的构建URL的方式。
浏览器中未向网络服务器发送的string _commandParameter = @"whoami";
try
{
var process = new Process
{
StartInfo =
{
CreateNoWindow = true,
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardInput = true,
RedirectStandardError = true,
Verb = "runas",
FileName = @"C:\Windows\System32\cmd.exe",
Domain = "dir",
UserName = userID,
Password = GetSecureString(userpassword),
Arguments = _commandParameter
}
};
process.Start();
string readToEndOutput = process.StandardOutput.ReadToEnd();
string readToEndError = process.StandardError.ReadToEnd();
process.WaitForExit();
}
catch (Exception ex)
{
log.Info("error as StackTrace Exception in Input ActionResult -" + ex.StackTrace.ToString());
log.Info("error as Message Exception in Input ActionResult -" + ex.Message.ToString());
}
public static SecureString GetSecureString(string str)
{
SecureString result = new SecureString();
try
{
if (string.IsNullOrWhiteSpace(str))
return null;
else
{
foreach (char c in str.ToCharArray())
result.AppendChar(c);
return result;
}
}
catch (Exception ex)
{
log.Info("Cannot create password-" + ex.StackTrace.ToString());
}
return result;
}
之后的所有内容。页面加载后,页面上运行的JavaScript可以请求let handler = {
set(target, propertyKey, value, receiver) {
console.log(`set ${propertyKey} to ${value}`)
return Reflect.set(target, propertyKey, value, receiver);
}
};
const p = new Proxy([], handler);
p.push('a')
之后显示的内容。然后,浏览器将该数据发送到服务器,并检索页面的新部分。
在您的示例中,浏览器加载页面true
- 在该页面上运行的脚本会查看false
并使用该数据执行某些操作。
正如您可能怀疑的那样 - 这是一种运行网站的缓慢,脆弱和笨拙的方式。
见