我正在尝试编写一个程序,用户可以通过客户端的 comm::comm 命令读取服务器上的数据库。现在我想阻止来自客户端的某些命令,例如“文件删除”,所以我在服务器上创建了一个安全解释器,并希望在服务器上进行一些设置,以将所有命令从客户端放到安全解释器。有谁知道是否有任何机制可以实现这一目标?任何有用的答案将不胜感激!
问问题
53 次
1 回答
0
请参阅comm
包的文档,尤其是有关eval
事件挂钩的部分。
https://core.tcl.tk/tcllib/doc/trunk/embedded/www/tcllib/files/modules/comm/comm.html#subsection9
例如像这样:
% interp create foo
% ::comm::comm hook eval {return [lb]foo eval $buffer[rb]}
% ::comm::comm send [lb]::comm::comm self[rb] set myvar 123
123
% set myvar
can't read "myvar": no such variable
% foo eval set myvar
123
于 2018-04-02T00:50:15.647 回答