2009-05-21 75 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