ColdFusion Web Service显示数据库架构

时间:2012-12-02 23:35:45

标签: sql-server web-services security coldfusion

我想为基础数据库的某些细节创建一个Web服务。

<cffunction name="getDBSchema" output="false" returnType="query" access="remote">


<cfquery name="local.qryPlugin" cachedwithin="#CreateTimeSpan(1,0,0,0)#">
    SELECT column_name, data_type, character_maximum_length, kcu.TABLE_SCHEMA, 
    kcu.table_name,ordinal_position, is_nullable 
    FROM information_schema.COLUMNS kcu
    ORDER BY table_name, ordinal_position
</cfquery>

<cfreturn local.qryPlugin>

我可以担心,即使将cachedwith设置为有一天,我仍然可能会太难以击中数据库。我也担心我引入了一个漏洞。数据库架构信息本身不是敏感信息

1 个答案:

答案 0 :(得分:2)

你问了两个具体的问题 - 一个是缓存一天,两个,这是一个安全问题。

1)缓存一天似乎更多足够了。这是一个令人难以置信的长缓存。不知道为什么你认为这不够,但对我来说似乎很好。

2)我不是安全专家。你提到这只能通过内部IP访问,所以这可能已经足够好了,但你可能想问问自己为什么要分享这些细节?您的用户真的需要这些信息吗?

最后 - 不要忘记ColdFusion有一个<cfdbinfo>标签可以做到这一点。显然,你的代码很有用,但我只是在你不知道的情况下分享它。