🐥

ClientScriptでReadOnlyにするだけでは書き換えを防げない[ServiceNow]

2023/03/19に公開

TL;DR

ClientScriptでRead Onlyにしても(悪い子すれば)書き換えられます。完全に書き換えを防ぎたいならACLかTable Columnsから書き換えを防ぎたいColumnをRead Onlyにするか、送信時発動のBusiness ruleでValidateしましょう。ClientScriptはあくまでClientです(そりゃそうです)。

Situation

ふと、ClientScriptでRead Onlyにしたフィールドを書き換えられるか試したところ、(ごにょごにょすると)書き換えられることが判明。あくまでクライアントサイドなので書き換えられるだろうと思っていましたが、その通りでした。
エンジニアに開発を任せている場合は問題ないと思いますが、市民開発の場合、ClientScriptのみで改ざん防止等を実装してしまうこともあると思いますので注意と周知が必要です。

Summary

ClientScriptはあくまでユーザエクスペリエンス向上のために使用するものです。改ざん防止等が必要な場合はACLなどを使用しましょう。間違いなどがあればご指摘ください。

フォロー、Twitterフォローもよろしくお願いいたします。
https://twitter.com/kouki__ito

Discussion