禁止 JavaScript/HTM 页面中的 ADO 安全警告

2024-03-04

我有一个功能齐全的网站存储在网络驱动器上,还有一个充当该网站数据库的 Access 数据库。 由于缺乏服务器端代码,我被迫使用 JavaScript 创建 ADO ActiveX 对象来连接到数据库。这有效。

我遇到的问题是,每当用户打开该站点时,都会出现 ADO 安全警告,询问他们是否信任该站点。如果他们按“取消”,则抛出的错误是:Safety settings on this computer prohibit accessing a data source on another domain但是数据库存储在与站点相同的网络目录中...如果他们按“确定”,则站点可以正常打开。

有什么办法可以阻止此警告的出现吗?


我知道这是一个老问题,但我也遇到了同样的问题,让我生气的是还有其他人也没有答案 - 我发现了一些可以帮助某些人的信息,我有一个解决方法:

从网页运行此代码的问题在于它受到与该浏览器关联的安全控件的约束。如果网站用户使用不同的浏览器,他们可能不会收到相同的错误 - 如果我不得不猜测的话,他们可能会在 IE 中收到错误。在 IE 中,有一个名为“跨域访问数据源”的安全控制,它位于“其他”部分,如果您进入工具 > Internet 选项、安全选项卡,选择站点的适用区域(可能是Intranet,但这可以通过在网站上时查看底部的 IE 状态栏来确认,以查看正在应用的区域),然后选择自定义级别。如果工作站由 GPO 管理,则会出现问题 - 自定义级别显示为灰色。如果没有的话,可以找到设置,选择Enable在正在访问该站点的适用客户端工作站上,您就完成了。

如果它由 GPO 管理,并且您是能够进行此类更改的域管理员:

对于要进行更改的客户端工作站的 Active Directory 用户和计算机中的适用 OU,右键单击它并找到 GPO 并进行编辑。它位于:本地计算机策略 > 计算机配置 > 管理模板 > Windows 组件 > Internet Explorer > Internet 控制面板 > 安全页面 > Intranet 区域(可能)>第一个选项:跨域访问数据源。右键单击它并选择Edit。选择Enabled单选按钮,然后选择Enabled在下拉菜单中。

Select Apply and OK.

如果客户端工作站没有获得更新,请重新启动,或者执行gpupdate /force在命令行上强制更新 GPO 并重新启动。

如果它由 GPO 管理,并且您不是能够进行此类更改的域管理员:

请改用 VBScript。您可以使用连接编写单独的 VBScript 文件,甚至可以从 JavaScript 调用它。下面是一个脚本,其中包含我从中提取的 ADO 连接https://gallery.technet.microsoft.com/scriptcenter/b160d928-fb9e-4c49-a194-f2e5a3e806ae https://gallery.technet.microsoft.com/scriptcenter/b160d928-fb9e-4c49-a194-f2e5a3e806ae作为如何格式化它的示例。当然,它是针对 AD 而不是 Access,但概念是相同的:

Option Explicit 

Dim objGroup 

'VERIFY A GROUP NAME WAS PASSED 
If wscript.arguments.count <> 1 Then 
  wscript.echo "NO GROUP PASSED" 
  wscript.echo "Usage:  scriptName <groupSamAccountName>" 
  wscript.quit 
End If 

'BIND TO THE GROUP   
Set objGroup = getGroup(wscript.Arguments(0)) 

'ENUMERATE THE GROUPS MEMBERS 
enumMembers objGroup, "" 

Function getGroup(strGroupName) 
  Dim objConn, objRecSet, strQueryString, objRootDSE, strQueryFrom 
  Const adsOpenStatic = 3 

  Set objRootDSE = GetObject("LDAP://RootDSE") 
  strQueryFrom = "LDAP://" & objRootDSE.get("defaultNamingContext") 

  Set objConn = wscript.CreateObject("ADODB.Connection") 
  objConn.Provider = "ADsDSOObject" 
  objConn.Open 

  strQueryString = "SELECT AdsPath FROM '" & strQueryFrom & "' WHERE samAccountName = '" & strGroupName & "'" 

  Set objRecSet = wscript.CreateObject("ADODB.Recordset") 

  objRecSet.Open strQueryString, objConn, adsOpenStatic 

  If objRecSet.recordCount = 1 Then 
     Set getGroup = GetObject(objRecSet("AdsPath")) 
  Else 
     wscript.echo ucase(strGroupName) & " was not found in the domain. (" & objRootDSE.get("defaultNamingContext") & ")" 
     wscript.quit 
  End If 
End Function 

Sub enumMembers(byRef objGroup, strInheritedFrom) 
  Dim objMember 

  For Each objMember In objGroup.Members 
    If lcase(objMember.class) = "group" Then 
      enumMembers objMember, objMember.samAccountName 
    Else 
      If objMember.displayname <> "" Then 
         If strInheritedFrom = "" Then 
             wscript.echo objMember.displayname 
         Else 
             wscript.echo objMember.displayname & " (From NESTED GROUP:  " & strInheritedFrom & ")" 
         End If 
         Else 
           If strInheritedFrom = "" Then  
               wscript.echo objMember.samAccountName 
           Else 
               wscript.echo objMember.samAccountName & " (From NESTED GROUP:  " & strInheritedFrom & ")" 
           End If 
        End If 
     End If 
  Next 
End Sub 

就我而言,当我将此块放入 HTA(在浏览器中运行)中并使用按钮单击事件中的特定组名称运行 getGroup() 时,我收到了错误。我什至没有试图从不同的域获得一个组!没关系!所以我必须将其提取到自己的 VBScript 中并单独运行。我将得到的输出写入一个文件(通过存储对变量的响应,使用& vbCrLf在每个结果之后换行,然后将其发送到此处的代码:http://www.computerperformance.co.uk/vbscript/vbscript_file_opentextfile.htm http://www.computerperformance.co.uk/vbscript/vbscript_file_opentextfile.htm)。我不会包含该代码,因为它甚至离题更远。但我的观点是,如果必须的话,您可以将输出写入文件并将其读回。你可能不必这样做。一旦您将执行数据抓取的代码提取到自己的进程中,您就可能能够解决该错误。但只要它与浏览器安全设置相关,只要该设置保持禁用状态,它就会出现并成为一个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁止 JavaScript/HTM 页面中的 ADO 安全警告 的相关文章

  • JavaScript 中的“import”和“require”有什么区别?

    当在 JavaScript 中包含包时我什么时候想使用import vs require 它们是相同的还是有不同的用例 您可以在加载的模块名称未预定义 静态的情况下进行动态加载 或者仅在 真正需要 时有条件地加载模块 取决于某些代码流 加载
  • 使用 .add() 选择多个 jQuery 对象

    是否 add http api jquery com add 方法允许一次选择多个对象而不是一次添加一个 one add two add three add four on click function 以下变量的设置方式相同 因为每个变量
  • 有没有办法根据渲染的字符串创建 DOM 对象?

    有没有办法从整个字符串而不只是innerHTML 创建DOM 对象 我有一个完整呈现的 DOM 形式的字符串
  • 不使用 PHP 提交联系表单

    我还是一名学生 今天我们的讲师告诉我们 无需使用 mailto 函数即可提交联系我们表单的唯一方法是使用 PHP 我发誓去年另一位讲师向我们展示了一种仅使用 javascript 的方法 是否可以使用基本表单和 javascript 提交反
  • 使用 Jquery 附加链接

    我正在尝试根据您所在的页面添加指向我的页面的链接 我使用 Squarespace 来构建这个网站 因此对我来说最简单的方法是使用 Javascript 或 Jquery 我认为我缺少的这个语法有问题 我已经尝试用 来打破引号 但这不起作用
  • 将 Repeater Container.ItemIndex 传递给 Javascript 函数

    在 C Asp Net 中 我需要将中继器出现索引传递到 Javascript 函数中OnClientClick从 ASP 按钮按下 这是我的代码
  • asp.net 将值从 JS/jquery 传递到 C# 背后的代码

    我已经尝试了 所有 可能的方法 将 screen width vlaue 从 aspx 页面上的 JS 脚本发送到后面代码中的 c 虽然我可以看到 screen width 被正确分配 但它永远不会分配给我的隐藏字段价值
  • Excel 宏与 Javascript

    我希望使用 Javascript 中的宏而不是默认的 VBA 来操作 Excel 电子表格 我可以使用以下 VBA 代码执行 javascript 代码 javascript to execute Dim b As String b fun
  • 如何翻转 Twitter Bootstrap 的工具提示

    我正在使用 Twitter 的 Bootstrap 来实现工具提示 目前 工具提示显示在链接上方 我希望工具提示出现在链接下方 我该怎么做呢 我正在触发工具提示 它明确指出 底部 但它不想为我工作 tooltip tooltip place
  • 将事件添加到 Google Maps API InfoWindow 内的元素

    我想在 Google Maps API v3 InfoWindow 内放置一个带有输入字段和提交按钮的表单 提交后 我想调用一个函数 该函数使用输入字段中输入的地址启动方向服务 这是我的代码 我目前只测试方向事件是否被触发 我已经编写了完整
  • 在 JQuery ui 自动完成中显示图像

    我有一个带有 JQuery ui 自动完成功能的脚本 可以完美运行 有一个显示用户名字和姓氏的搜索过程 但在我的数据库中 还有用户的图片 我想将其显示在带有名字和姓氏的建议中 数据库中pic包含图片url 剧本 function searc
  • Intro.js 2页然后返回首页

    我在用intro js http introjs com 为我的网站创建一个小介绍 我希望游览从第 1 页 主页 2 另一页 然后回到第 1 页 主页 我已经成功地从第 1 2 页开始 但不确定如何让它返回到第 1 页 我对 javascr
  • Angularjs - 将 True/False 显示为 Yes/No

    有没有一种简单的方法可以将真 假值显示为是 否 我正在从数据库检索包含以下内容的 JSON 对象 对象 WithCertification true 这是 HTML 有认证 elem WithCertification 正在显示这个 认证真
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • Facebook API Javascript JSON 响应

    function getUser FB api me function response console log Response is response alert Your name is response first name ale
  • 如何显示 GroupList 的 FormArray?

    我正在尝试制作一个交互式表单 在每一行上列出一个项目以及一个删除按钮 在我的示例中称为 verwijderen 这些项目是从数据库中检索的 并且每个项目都实例化为名为的自定义对象LaborPeriod 然后这些对象被转化为FormGroup
  • 动态 dom 操作后,如何在浏览器历史记录中保留 dom 状态?

    是否有一个通用的解决方案来保留 dom 状态 以便当用户使用后退 前进返回页面时 整个页面处于他们离开时的确切状态 这篇文章询问并回答了为什么不同浏览器和不同 javascript 库的行为不一致 Ajax 后退按钮和 DOM 更新 htt
  • 使用 javascript/jquery 从数据库格式化日期的正确方法

    我正在调用包含日期时间数据类型的数据库 日期看起来像这样 2005 05 23 16 06 00 000 当用户从列表中选择某个项目时 我想在表格中显示它 我调用我的控制器操作并返回所有时间的 Json 并将它们放入表中 问题是日期完全错误
  • YouTube iFrame Player API 无法在 DOMWindow 上执行 postMessage

    我正在尝试使用以下命令将 youtube 加载到我的网页中YouTube iFrame Player API 并在加载时出现以下错误 Failed to execute postMessage on DOMWindow The target
  • 角度 4 单击按钮功能未触发

    我正在尝试检查文本输入是否为空或不在角度 4 中 我没有为此使用表单 这只是一个输入字段 当我在下面的按钮中执行 addLocaton 函数时 需要进行检查 我的输入字段

随机推荐

  • CORS 请求在本地打开的 html 文件中被阻止

    我已经开始编写一个使用 JavaScript 显示数据的 HTML 文件 因为它应该尽可能简单地完成 所以我不想运行nodejs或任何其他本地http服务器 我刚刚在浏览器中打开了 HTML 文件 url 为 file home visu
  • 在rails中使用他的ip自动检测用户的时区

    我想从用户的 IP 地址找到他的时区 如果用户正在旅行 应用程序应该能够找出他所在的当前时区 你不能 至少可靠地 想想代理 ISP NAT 或 VPN 即使用户看起来在某个国家 地区 并不意味着他真的在那里 我建议让用户选择他喜欢的时区 并
  • .NET 中可以使用不可变数组吗?

    是否有可能以某种方式标记System Array作为不可变的 当放在 public get private set 后面时 它们无法添加到其中 因为它需要重新分配和重新分配 但消费者仍然可以设置他们希望的任何下标 public class
  • 跨服务器移动 mysql 文件

    我有一个巨大的 MySQL 数据库 大约 10 GB 我需要将其复制到不同的服务器 slicehost 我不想进行数据库转储并重新导入 b c 我认为这将花费很长时间 是否可以将原始 SQL 文件从一台机器移动到另一台机器 设置相同的 my
  • 当被模态视图控制器覆盖时,iOS 6 视图控制器布局在方向更改后不会更新

    我有一个 iPad 应用程序 非常适合 6 之前的 iOS 版本 我的根视图控制器显示一个列表 当您单击列表中的任何项目时 根视图控制器会呈现一个模式视图控制器来显示该项目的详细信息 问题是 我的根视图控制器在横向和纵向上有不同的布局 当不
  • Py_Initialize 运行需要哪些文件?

    我正在编写一段简单的代码 该代码从 C C 应用程序运行 Python 函数 为了做到这一点 我设置了 PYTHONPATH 并运行初始化 如下所示 Py SetPythonHome Python27 Py InitializeEx 0 然
  • 强制 R 不使用指数表示法(例如 e+10)?

    我可以强制 R 使用常规数字而不是使用e 10 类似符号 我有 1 810032e 09 and 4 在同一向量内并希望看到 1810032000 and 4 我正在为老式程序创建输出 我必须使用编写一个文本文件cat 到目前为止效果很好
  • java: Spring:如何将 bean 从一个 ClassPathXMLApplicationContext 传输到另一个?

    如何从一个豆子转移豆子ClassPathXMLApplicationContext到另一个 我创建一个这样的上下文 ClassPathXMLApplicationContext myOneContext new ClassPathXMLAp
  • 可展开列表视图自动折叠

    我无法在扩展新组时关闭之前扩展的组 我读过类似的问题 但我无法从中提取概念 我尝试使用 crashGroup groupPosition 方法 但它不起作用 您好 请尝试下面的代码 int lastExpandedGroupPosition
  • 关闭亮点

    我想关闭 PHPStorm 对非错误相关事物的烦人的突出显示 我读了他们的文档 其中说要转到首选项 gt 编辑器 gt 检查 我取消了 SQL 的所有选择 但我仍然无缘无故地得到绿色突出显示 我如何禁用此功能 这很让人分心 That s 语
  • 使用反射实例化内部类时出现 InstantiationException。为什么?

    我无法创建 B 对象 但为什么呢 public class AFactory public int currentRange private abstract class A protected final Object range cur
  • 线程 C++ 的瓶颈

    所以我只是想验证一下我的理解 希望你们能够消除任何误解 所以本质上我有两个线程使用相同的锁并在持有锁时执行计算 但有趣的是 在锁内我将导致线程休眠一小段时间 对于两个线程 每个线程的睡眠时间都会略有不同 由于锁的工作方式 较快的线程是否会因
  • 运行 GAE 开发服务器时,本地 MySQLdb 连接失败,并出现 paramstyle 的 AttributeError

    我正在使用 Flask Alchemy 针对 Cloud SQL 构建 GAE Flask 应用程序 并运行dev appserver在构建应用程序时对其进行测试 但是 如果我设置SQLALCHEMY DATABASE URI to a m
  • 通过蓝牙进行多点连接?

    我开始做广告 开始浏览 什么时候在同一个WiFi下 它可以工作 但是当我关闭 WiFi 时只留下蓝牙 甚至也不 void browser MCNearbyServiceBrowser browser foundPeer MCPeerID p
  • 如何使用 Google Drive API 将文件传输到其他用户的云端硬盘?

    我正在尝试转移当前属于我的 Google 文档 并将其移至另一个用户的 Google 云端硬盘的根目录 两个帐户都位于同一域中 我使用服务帐户来访问所有用户 起初我尝试通过修改权限来做到这一点 这将使第二个用户能够访问该文件 但不会将其放入
  • 如何使用“Matlab Data / Engine API for c++”在 C++ 中加载 .mat

    我正在尝试在 C 程序中包含 mat 然而 我无法使用传统的 mat h 由于 Matlab API for C 之间的内部兼容性问题 https de mathworks com help matlab matlab c api to r
  • 如何迭代 JavaScript 对象的属性名称?

    我想从 JavaScript 对象获取属性名称以动态构建表 例如 var obj fname joe lname smith number 34 for var i 0 i lt obj properties length i alert
  • 获取 std::list<>::iterator 的值到指针?

    我如何循环遍历 stl List 并存储其中一个对象的值以供稍后在函数中使用 Particle closestParticle for list
  • 从 php 调用 swi-prolog

    我正在尝试从 php 脚本中调用 swi prolog 例如 exec start plwin exe f C path load pl g run from file os1 print r os1 我可以看到 prolog 窗口打开并遵
  • 禁止 JavaScript/HTM 页面中的 ADO 安全警告

    我有一个功能齐全的网站存储在网络驱动器上 还有一个充当该网站数据库的 Access 数据库 由于缺乏服务器端代码 我被迫使用 JavaScript 创建 ADO ActiveX 对象来连接到数据库 这有效 我遇到的问题是 每当用户打开该站点