Por curiosidade hoje fazendo testes percebi uma falha de segurança do SC, ao meu ver “Grave”.
Detalhes:
Tenho um formulário que com uma determinada condição, faço o uso da macro “sc_field_disabled(nomecampo)”,
isso torna meu campo inalterável(disabled). Agora colocamos o sistema em produção, aparece aquele usuário mais experto que conhece Javascript/Html,
esse usuário então vai no meu objeto:input e tira o atributo de disabled tornando se assim o campo editável, altera o campo e faz o update. O scriptcase está fazendo o update desse campo, mesmo estando disabled, tornando se assim uma “feature” totalmente insegura.
Lei do sistema WEB:
Nunca se deve fazer uma validação apenas do lado do cliente.
Solução parcial:
Seria uma comparação no evento onBeforeUpdate se o campo foi alterado ao seu estado inicial, fazendo uma busca no banco. Não é viável pois é trabalhoso e vai decair um pouco a performance do Update.
Cara isso ao meu ver não tem justificativa ao nível do software que é o SC. Deve ter sido algum estagiário que criou esse recurso rsrsrsrs…
PS: Fiz o teste apenas usando a macro, não testei desabilitando no próprio campo. Não tem necessidade de testar, pois o erro deve ser corrigido em ambos.
Se estou equivocado peço desculpas.
Versão SC: 7.1.14