我有一个 ASP 应用程序。单击特定链接时,会执行一些 VB 脚本并显示 ASP 页面,但我得到的屏幕显示:
信息不可用。
请求的 URL 被拒绝。请咨询您的管理员。
您的支持 ID 是:XXXXXXXXXXXXXXXXXXXXX”
IIS 和事件查看器日志不显示任何错误消息。
这只发生在某些用户身上,但对于其他用户来说效果很好。
导致此错误的可能原因是什么?
您的 http 被 F5 Networks 称为应用程序安全管理器 (ASM) 的防火墙阻止。它会产生如下消息:
请咨询您的管理员。
您的支持 ID 是:xxxxxxxxxxxx
因此,您的应用程序正在传递一些由于某种原因 ASM 检测为威胁的数据。将support id提供给您的网络工程师以了解具体原因。
在chrome中遇到这个问题。通过清理相关cookie解决。 请注意,您不必清理所有 cookie。
我发现了问题。这是一条防火墙消息,由于数据库中的数据错误,VB 脚本中发生了错误,但该错误未正确记录/捕获。
与防火墙无关。我从办公室和移动设备访问时遇到同样的问题。 我清理了饼干并且工作得很好。您可以在 https://support.google.com/chromebook/answer/1085581?hl=en
了解更多信息我能够解决清除 cookie 和缓存的问题。
我在使用 Google Chrome 浏览器时也遇到了同样的问题。使用隐身模式和不同的浏览器可以正常打开同一网站。起初,我清除了过去 24 小时内的缓存文件和 cookie,但这并没有帮助。
我意识到我第一次访问该网站是在过去 10 天里。因此,我在过去 4 周内清除了缓存文件和 Cookie,从而解决了问题。
注意:我没有清除我的浏览历史数据
例如,如果您的客户端是 JavaScript 应用程序,我建议您使用
js-base64 库,因为它提供对 UTF-8 字符的支持,而且非常轻量,没有任何依赖。
我会留下一些流行的Web开发语言的例子。JavaScript
import { Base64 } from 'js-base64';
Base64.encode('dankogai');
Base64.decode('ZGFua29nYWk=');
Javapublic static String base64Encode(String plainText) {
return Base64.getEncoder().encodeToString(plainText.getBytes());
}
public static String base64Decode(String encodedString) {
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
return new String(decodedBytes);
}
C#public static string Base64Encode(string plainText)
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}
public static string Base64Decode(string base64EncodedData)
{
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}