기본 데이터베이스에 대한 일부 세부 사항에 대한 웹 서비스를 만들고 싶습니다.데이터베이스 스키마를 표시하는 ColdFusion Webservice
<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>
I 수있는 cachedwithin 언젠가 설정도 함께, 나는 아직도 너무 세게 DB를 타격 할 수 있다는 우려. 저는 또한 취약성을 도입 할까 우려합니다. DB 스키마 정보 자체는 중요한 정보가 아닙니다.
쿼리는 "데이터베이스를 때리는"관점에서 큰 의미가 없습니다. 데이터베이스 디자인을 해커에게 제공하는 것은 큰 문제입니다. 왜 이걸하고 싶니? –
내부 DB 스키마에 대한 최신 문서를 제공하고 싶습니다. 그것이 표시되지 않지만, 웹 서비스는 제한된 수의 IP를 통해서만 액세스 할 수 있습니다 –