问题标签 [isapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
940 浏览

iis - 在 IIS6 中,如何提供对远程服务器上的静态文件的身份验证访问

我们有一个 ZIP 文件库,希望在 ASP.NET 站点上可供下载。

这些文件位于可从外部网络场访问的 NAS 设备上。

这是我们最初的策略:

  1. 将 IIS 虚拟目录映射到路径 /zipfiles 处的共享驱动器
  2. 用户可以在给定 URL 后下载 zip 文件

但是,如果用户共享文件的链接,任何人都可以下载它们。相反,我们希望在我们的站点中使用 ASP.NET 表单身份验证来在启动文件传输之前验证用户的请求。

一些问题: 对 zip 文件的请求由 IIS 处理,而不是 ASP.NET。所以它不受表单身份验证的约束。此外,我们不希望 ASP.NET 处理该请求,因为它占用了一个 ASP.NET 线程并且对于下载大文件是不可扩展的。因此,配置 asp.net dll 来处理 *.zip 请求不是一种选择。

对此有什么想法吗?

我们折腾的一个想法是:下载的初始请求将是一个 ashx 处理程序。此处理程序将在身份验证后生成一个下载令牌,该令牌保存到数据库中。然后,用户被重定向到在QueryString 中附加了令牌的文件(例如/files/xyz.zip?token=123456789)。ISAPI 插件将用于检查令牌。此外,令牌将在 x 时间后过期。对此有什么想法吗?我还没有实现 ISAPI 插件,所以我不确定这是否会起作用。

我想避免自定义编码,因为安全是一个问题,我更喜欢使用经过时间考验的解决方案。

0 投票
3 回答
537 浏览

c - ISAPI 筛选器如何区分由 IIS 或 ISA 加载?

我有一个作为 ISAPI 过滤器实现的应用程序,其行为需要根据 ISA 或 IIS 加载而改变。在 GetFilterVersion 期间,如果由 ISA 加载,则需要注册 SF_NOTIFY_SEND_RAW_DATA,如果由 IIS 加载,则需要注册 SF_NOTIFY_SEND_RESPONSE。

似乎没有关于传递给 GetFilterVersion 的服务器的任何信息。是否有一些技巧可以识别和区分 IIS 和 ISA?

[编辑]

在 GetFilterVersion 调用期间,应用程序需要在初始化时知道​​哪个服务器正在加载它。当前没有请求,因此尝试从标头变量中获取 SERVER_VARIABLE 将不起作用;此时没有标题变量。

详细地说,我的应用程序设置了响应标头,例如 cookie 和缓存控制标头。在 ISA 服务器的上下文中运行时,它必须使用 SF_NOTIFY_SEND_RAW_DATA 事件来完成此操作,修改 ISA 代理发送的原始数据。然而,在 IIS 中,使用此通知会带来严重的性能损失,因此应用程序应使用 SF_NOTIFY_SEND_RESPONSE。SF_NOTIFY_SEND_RESPONSE 不适用于 ISA,因为此事件不会针对代理响应触发,仅针对源自 ISA 本身的响应,例如错误页面。最后,事件注册在 GetFilterVersion() 期间发生一次,一旦加载过滤器就无法修改。

所以应用程序需要知道,在初始化期间,它何时决定注册 SF_NOTIFY_SEND_RESPONSE 或 SF_NOTIFY_SEND_RAW_DATA,它是由 IIS 还是 ISA 加载的。

0 投票
1 回答
411 浏览

apache - 重写引擎关闭;ErrorDocument 仍然有效吗?

我正在为 IIS7 编写一个 ISAPI 过滤器,它应该映射 Apache Mod_Rewrite 的一些功能。整个重写已经完成,我现在要实现ErrorDocument指令。
当我关闭 RewriteEngine 时,重写会按预期禁用。但是ErrorDocument呢?
默认的 Mod_Rewrite 行为如何?如果RewriteEngine 关闭, ErrorDocument指令是否仍然有效?

0 投票
4 回答
86470 浏览

java - 在 IIS 中运行 Java Web 应用程序

有没有人找到在 IIS 中运行 Java Web 应用程序的方法?在我看来,完全可以编写一个集成 Jetty 或自定义 servlet 容器与 IIS 的 ISAPI 插件(这是正确的词吗?)。这样做的好处是,像 Jira 这样的许多出色的高端 Java 应用程序需要单独的基础架构,以供其他所有 Microsoft 商店使用。

0 投票
1 回答
391 浏览

http - 在 ISAPI 中,是否可以将标头设置为“空字符串”?

ISAPI SetHeader 函数的文档说,使用'\0'标头的值将删除标头。

Q1。ISAPI 过滤器是否可以将标头的值设置为空字符串?如何?

Q2。想要这样做是否有意义?HTTP 协议中具有空请求标头是否合法?


阅读RFC 2616后,请求标头似乎可以完全为空。在第 14.39 节中,规范给出了一个 TE 标头完全为空的示例。

所以,我认为 Q2 的答案是“是”,但我对此感兴趣。Q1的答案仍然未知。

0 投票
2 回答
1411 浏览

iis - IIS7 背后的 Atlassian Bamboo 和 Isapi 重定向

我正在尝试在 IIS 7 后面使用 Bamboo。我已经用尽了我所有的资源,所以我希望这里有人可以提供帮助。在启动竹子并尝试连接我的浏览器后,最终超时并显示 503。请注意,目前只有竹子有问题。JIRA、Confluence 和 Crowd 都可以正常工作

竹州的原木

和 Isapi_redirect.log 状态:

我已按照此处的说明将 Bamboo 配置为使用码头配置文件:http: //confluence.atlassian.com/display/BAMBOO/Getting+Bamboo+Standalone+to+use+the+jetty.xml+file

我已经配置了我的 jetty.xml 并添加了

Isapi 配置信息:

workers.properties.minimal 看起来像这样:

uriworkermap.properties 文件:

有任何想法吗?

0 投票
1 回答
1535 浏览

php - Windows 7 上的 PHP5 ISAPI(64 位)

我收到这条消息:

这个 PHP CGI 二进制文件是在启用 force-cgi-redirect 的情况下编译的。这意味着只有在设置了 REDIRECT_STATUS CGI 变量时才会提供页面,例如通过 Apache Action 指令。

但是,我将 cgi.force_redirect 设置为 0,并重置了 IIS。我也做了以下事情:

  1. 将 C:\PHP 添加到我的系统 PATH
  2. 为注册表运行这个:

    Windows 注册表编辑器版本 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\PHP] "IniFilePath"="C:\PHP"

  1. 将 PHP ISAPI 添加到 ISAPI 和 CGI​​ 限制以允许
  2. 添加了 PHP ISAPI 作为映射到 *.php 的 ISAPI 模块

但是,我不断收到该错误消息。我什么都试过了!

0 投票
1 回答
268 浏览

regex - ISAPI-Rewrite 的另一个正则表达式问题

现在我正在研究这个已经有几个小时了,我似乎无法弄清楚正确的正则表达式是什么。

首先,我正在使用 IIS6 和 ISAPI_Rewrite 3.0,并且在网站上使用它之前,我正在使用它附带的实用程序测试我的正则表达式。

该网站有一个位于 www.foo.com/bar/ 的网络应用程序,我想限制对除 default.aspx 以外的任何子文件夹和/或子文件的访问。

这意味着 www.foo/bar/default.aspx 应该可以工作,但不能 www.foo/bar/oof 或 www.foo/bar/oof/.../rab.txt

这是我的 httpd.ini 文件中的内容:

它适用于所有东西,但 default.aspx。我知道为什么,但我就是想不出正确的语法。

谢谢

0 投票
3 回答
528 浏览

c - 错误的 DLL(ISAPI 过滤器)

我编写了这个 ISAPI 过滤器来重写 URL,因为我们有一些移动位置的站点......基本上过滤器查看引用者,如果它是本地服务器,它会查看请求的 URL 并将其与完整的引用者进行比较。如果第一个路径相同,则不执行任何操作,但如果不是,则从完整引用者中获取第一个路径并将其添加到 URL 前面。例如:来自http://myserver/wr/apps/default.htm的引用者的/Content/imgs/img.jpg 将被重写为 /wr/Content/imgs/img.jpg。

当我查看日志文件时,一切看起来都很好。但是,DLL 不断出现以下信息:错误应用程序 w3wp.exe,版本 6.0.3790.3959,错误模块 URLRedirector.dll,版本 0.0.0.0,错误地址 0x0002df25。

这是代码:

0 投票
2 回答
1375 浏览

c++ - 在 IIS ISAPI 筛选器中设置自定义标头值

我有一个 ISAPI 过滤器,用于为我的 CMS 进行 URL 重写。我正在处理 SF_NOTIFY_PREPROC_HEADERS 通知,并尝试这样做:

但是,我似乎无法使用经典 ASP 或 PHP 中的服务器变量或响应标头读取这些值。缺少值。我期待我的“test1”或“test2”标题值出现,但它们没有出现。我在这里做错了吗?