私はColdfusionとAngularJSでアプリケーションを開発しています。私はAngularJS 1とCF11を使用しています。Coldfusion - サーバー上でajax "GET"クエリの実行を防ぐ方法
ユーザーは、アプリケーションにログインする必要があります。ユーザーIDはCFセッションに保存されます。私はそのように工場を実装myAngularJSサービスで
:
app.factory('ContactService', function($http){
var factory={};
factory.getContact=function(id){
return $http.post('http://myapp/contacts.cfc?method=getContacts&subsString=' + id);
};
return factory;
})
をここに私のコンポーネントcontacts.cfcは
<cfcomponent displayname="Contacts" hint="Webservice for contacts app">
<cffunction name="getContacts" access="remote" returnformat="JSON" output="no">
<cfargument name="subsString" required="no" type="String" />
<cfset ret = arrayNew(1) />
<cftry>
<cfinclude template="cfc/person/qry/qry_Search.cfm" />
<cfloop from="1" to="#qryFastSearch.recordcount#" index="i">
<cfset searchVO = structNew() />
<cfset searchVO['ID']= #qryFastSearch.ID[i]# />
<cfset searchVO['PERSON']= #qryFastSearch.personName[i]# />
<cfset searchVO['COMPANY']= #qryFastSearch.COMPANY[i]# />
<cfset ret[i] = searchVO />
</cfloop>
<cfcatch type="any">
<cfset returnVO = structNew() />
<cfset returnVO.ERROR = true />
<cfset returnVO.MESSAGE = cfcatch.Message />
<cfset ret[1] = returnVO />
</cfcatch>
</cftry>
<cfreturn SerializeJSON(ret)>
</cffunction>
</cfcomponent>
システムは、コントローラを実行すると、工場が実行され、結果が表示されます。ブラウザーのコンソールでurlが実行されていることがわかります。例えば
:http://myapp/contacts.cfc?method=getContacts&subsString=test
私は彼女がアプリケーションに接続されていない場合は、クエリ(URLのこの種のおかげで)実行する人を避けるようにしたいと思います。
ブラウザでURLを非表示にすることは可能ですか?
これを行うにはどのような方法が最適ですか?
ご協力いただきありがとうございます。
人物がログインしていることを示す情報を受け取るには、関数に引数を追加します。次に、受け取った値が有効であることを確認します。 –