如何保护来自窥探者的CFC中的访问="远程"功能?

Chr*_*ndt 6 apache-flex coldfusion remoting cfc flex3

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

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

Jas*_*son 4

您可以利用一些 CGI 范围变量来检查请求来自何处。

即:CGI.REMOTE_HOST、CGI.REMOTE_ADDR

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