2009-05-21 76 views
0

我們有收據的Velocity模板。該模板包含稅務識別號碼,其值將在收據生成時被替換。這是爲了確保真實許可證持有人的TIN打印在收據上。如何保護速度模板免遭篡改?

我們如何防止終端用戶對模板本身的TIN編號進行硬編碼?如果Velocity在合併時無法在模板中找到字段,是否有辦法引發異常?

+0

要清楚,你是否擔心用戶運行你的應用程序篡改模板?是否還有很多其他東西可以篡改 - 比如收據的打印輸出? – 2009-05-21 13:34:23

回答

1

是否允許用戶自定義模板的其他部分?

如果沒有,您可以在程序中包含模板的md5校驗和,並檢查文件是否被篡改。

不知道這是否值得付出努力。惡意用戶僞造收據還有很多其他方法,並且無法阻止所有這些收據。

4

保護模板本身可能會更好,而不是試圖讓Velocity報告錯誤的操作。速度是相當寬容的缺失字段等,所以我懷疑它不會做你想做的。

您可以通過簽名或類似的方式保護模板嗎?這樣一來,如果有人干涉它,應該立即察覺。

+0

也將許可證的一部分綁定到打印過程中(而不僅僅是打印一個數字)。這樣,如果沒有有效的許可證,它將無法打印。如果您擔心他們使用它來打印超出許可證允許的範圍,那麼除了保護模板之外,您還有其他問題,因爲整個商業模式都是錯誤的。 – Chii 2009-05-21 14:35:52