我编写了一个 python 类,它通过 ac dll 与第三方销售数据库交互。
我现在计划使用我的 ASP 脚本中的 PythonScript 来使用这个 python 类。这个 ASP 脚本是我网站的一部分。我过去曾使用过一点 PythonScript 作为 VBScript 的替代品。
在安全权利方面,我网站的客户可以使用 python 类吗?我记得有一次,出于安全原因,我不能让客户端安排 Windows 任务。
如何安全地设置安全权限?
我编写了一个 python 类,它通过 ac dll 与第三方销售数据库交互。
我现在计划使用我的 ASP 脚本中的 PythonScript 来使用这个 python 类。这个 ASP 脚本是我网站的一部分。我过去曾使用过一点 PythonScript 作为 VBScript 的替代品。
在安全权利方面,我网站的客户可以使用 python 类吗?我记得有一次,出于安全原因,我不能让客户端安排 Windows 任务。
如何安全地设置安全权限?
Web 应用程序总是让用户在服务器上运行代码,通常从数据中生成一些 HTML。该过程非常锁定,并且不需要服务器上的权限。该代码是否是 ASP 和/或 Python 并不是真正的问题,除了您将使用 C 代码:
如果您使用的是自定义构建的 COM 对象,此答案也将适用。
除了可能的技术困难(比如获得PYTHONPATH
正确的)之外,您还必须查看信任边界。简而言之,您必须对客户端发送给您的数据进行一些工作,然后才能使其可信。只有这样,您才能将其发送至您的资产(您的数据)。
什么是工作完全取决于您的应用程序,但它可能会沿着这些路线:
艰苦的工作通常在第 2 阶段。例如,您的调度应用程序可以只调度特定的低影响任务运行一次,而不是盲目地调度用户提交的任务。
您的 Python 脚本应用程序也是如此。但是你也应该考虑第 3 阶段。C 代码没有内置的保护措施,因此很容易受到溢出攻击。
为了更清楚,请在应用程序的高级图表上确定您的信任边界。这是一个尝试:
应用程序的每个部分都有一个角色,如果没有某种形式的验证,您就无法跨越信任边界。
例如 :
可悲的是,基础设施对您没有帮助。即使这是一个 Intranet 应用程序,并且预先知道用户,它也只会在身份验证阶段提供帮助。
最后,请记住旧式安全措施仍然适用:
我不必在 IIS 上设置 Python,但我在MSDN上找到
验证 .py 文件的应用程序映射是否已设置。为此,请执行以下步骤:
- 在 ISM 中,在 Internet 信息服务器下,右键单击计算机名称,然后 > 单击属性。
- 从主属性下拉列表中,单击 WWW 服务,然后单击编辑。
- 单击主目录选项卡,然后单击配置。
- 要添加应用程序映射,请单击添加,然后使用以下信息创建新映射(替换计算机上的正确路径):
- 可执行文件:“C:\Python20\python.exe %s %s”(可执行文件后面的两个“%s”对于基于控制台的脚本解释器是必需的,但对于基于 Internet 服务器 API [ISAPI] 的脚本则不需要口译员)。
- 扩展名:.py
- 脚本引擎:选中。
- 检查文件存在:选中(出于安全考虑)单击确定。
...
验证在计算机的访问控制列表 (ACL) 中正确设置了文件和目录权限。对于匿名访问,IUSR_[computername] 和 IWAM_[computername] 用户帐户必须至少具有“读取”权限 (RX)。使用其他类型的密码验证时,所需的权限可能会有所不同。