apache-flex - 如何防止窥探者访问 CFC 中的 ="remote"功能?

标签 apache-flex flex3 coldfusion remoting cfc

CFC 的一大特色是能够为直接 .cfm 页面和 Flex 应用程序重用代码。

我开发的一个这样的应用程序使用 Flex 的图表功能,并且需要访问 cfc 中的“getResults()”函数。

所有这些内容都在身份验证机制之后,但由于 cfc 将向 wsdl 请求开放:

https://myserver.com/c/functions.cfc?wsdl



如果 URL 查询设计得当,实际上会将结果返回给浏览器:

https://myserver.com/c/functions.cfc?method=getResults&Term=2009&Course=Anatomy



除非请求直接来自 CFML 处理器或来自 Flex Remoting,否则人们使用哪些技术来保护 cfc 免受直接访问?

最佳答案

您可以利用一些 CGI 范围变量来检查请求的来源。

即:CGI.REMOTE_HOST,CGI.REMOTE_ADDR

因此,您可能会构造一个带有 access="public"属性的新函数,该函数根据服务器的有效值列表检查这些变量的值。如果它返回 true,您将执行请求,如果它返回 false,您将抛出/返回某种错误。

关于apache-flex - 如何防止窥探者访问 CFC 中的 ="remote"功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/900348/

相关文章:

flash - Flex/Flash 生成器 : Proper way to reference another project?

coldfusion - anchor 标记无法正常工作,而是在 cfemail 内容中显示完整字符串

apache-flex - Flex 3 事件在复合自定义组件上传播?

apache-flex - 有没有工具可以将对象状态捕获到磁盘?

actionscript-3 - 为什么Actionscript 不支持重载?

java - 调用 servlet 时出错,但加载了其他资源 - Flex + Java 应用程序

apache-flex - 将使用 Flex 4 SDK 编译的 Flex 模块加载到使用 Flex 3.5 编译的应用程序中

session - ColdFusion 删除 session 变量

coldfusion - 指定 JDBC 数据库驱动程序最大线程数

apache-flex - 我无法将自定义事件从一个模块分派(dispatch)到另一个模块,因为它给出了 TypeError : Error #1034: Type Coercion failed: