下一个: commit files, 上一个: syntax, 上层: Trigger Scripts
安全是个巨大的话题,并且实施一个安全的系统不是一个简单的任务。本节几乎不涉及 相关的内容,但还是指出,当在服务器上允许不可靠用户执行脚本时,你可以掌握一些 尺度来阻止触发脚本被滥用。
例如,CVS 的触发脚本都是运行在服务器上用户的沙盘副本里面,简单的 Perl 触发脚本 使用系统未安装的 Perl 模块时,可能会执行其他用户提交的相同名字的文件。其他的脚本 语言也会有类似的被攻击方式。
有一个让脚本更安全的方法,至少对于 Perl,是通过 -T
来使用脚本,或者在
#!
行上使用 “taint-check” 开关。至少它可以让 Perl 避免执行外部的代码。
请使用 perldoc perlsec
命令了解更多 Perl 的安全。还有,其他的语言可能
会有类似 Perl 的 "taint-check" 机制的 hook 安全验证。