使用Coldfusion 8/9,我将如何管理IIS7。例如:
我正在建立一个网站生成器,当有人填写表格时,会生成一个网站。此过程中的一个步骤是创建具有特定主机头/ ip绑定的IIS站点。另一步可以是允许用户上传SSL证书。这可能是不可能的,我不确定。但我知道应该有一种与IIS7交互的方法。
答案 0 :(得分:9)
幸运的是,ColdFusion 8和9可以实例化.NET组件,这意味着您可以访问.NET托管代码IIS管理API:
IIS7附带两个.NET托管代码管理API:
Microsoft.Web.Administration
Microsoft.Web.Management
这些位于:c:\windows\system32\inetsrv
。
使用此功能,您应该能够通过ColdFusion使用这些API来创建网站和管理IIS功能。
如果直接调用这些API有问题(即某些数据项没有正确编组回ColdFusion),您可以使用自己的.NET代码将这些API的调用包装起来。
有关使用上述API创建和管理网站的更多信息,请参阅以下链接:
还应注意,运行该站点的Windows帐户应该是Administrators组的成员,以通过这些API管理IIS。
如果这是面向公众的网站,那么我将应用程序分成两部分。面向ColdFusion(在低特权帐户下运行)站点的公众会收集有关要创建的站点的信息。将此数据作为任务发布到某种类型的队列中(可以像数据库一样简单),由计划任务或Windows服务(作为高权限用户运行)读取,该服务定期从队列中选择这些任务(比如每15或30秒一次)。
这称为“沙盒”,意味着如果您的ColdFusion站点被劫持,那么它不会在提升的权限下运行,也不会造成太大的损害。所有高权限任务都在一个没有通过网络浮出的过程中进行沙盒化。
答案 1 :(得分:1)
对于CF7,我猜你可以用cfexecute调用powershell脚本吗?
答案 2 :(得分:0)
答案 3 :(得分:-2)
我认为这不是一种有益的方式。它不会起作用。