锁定我自己的Perl脚本
如何锁定我的Perl脚本,列出我必须做的事情锁定我自己的Perl脚本,perl,Perl,如何锁定我的Perl脚本,列出我必须做的事情 防止其他人读取或写入Perl脚本 他们应该只有执行Perl脚本的权限 这取决于您尚未指定的操作系统 通常,这是不可能的 在基于UNIX的系统(如Linux或Mac OS)上,可以向用户、组和所有人授予三种权限:读取、写入和执行 您可以很容易地删除写入权限,但需要读取权限才能执行脚本 (我假设您在Windows上也会遇到类似的问题) 我能想到的唯一解决办法是将脚本重写为Web服务。然后,HTTP服务器需要能够读取它,但用户自己不能。这取决于您的操作系
这取决于您尚未指定的操作系统 通常,这是不可能的 在基于UNIX的系统(如Linux或Mac OS)上,可以向用户、组和所有人授予三种权限:读取、写入和执行 您可以很容易地删除写入权限,但需要读取权限才能执行脚本 (我假设您在Windows上也会遇到类似的问题)
我能想到的唯一解决办法是将脚本重写为Web服务。然后,HTTP服务器需要能够读取它,但用户自己不能。这取决于您的操作系统,您尚未指定 通常,这是不可能的 在基于UNIX的系统(如Linux或Mac OS)上,可以向用户、组和所有人授予三种权限:读取、写入和执行 您可以很容易地删除写入权限,但需要读取权限才能执行脚本 (我假设您在Windows上也会遇到类似的问题)
我能想到的唯一解决办法是将脚本重写为Web服务。然后,HTTP服务器需要能够读取它,但用户自己不能。如果手头的系统是Linux/Unix,并且您具有管理访问权限,则可以使用
sudo
使用/etc/sudoers
中的以下行,任何人都可以以author1身份运行public\u bin
文件夹中的任何可执行文件:
ALL ALL = (author1) /home/author1/public_bin/*
然而,看看
mansudoers
,了解wrt的含义。环境和命令行参数。如果手头的系统是Linux/Unix,并且您具有管理权限,则可以使用sudo
使用/etc/sudoers
中的以下行,任何人都可以以author1身份运行public\u bin
文件夹中的任何可执行文件:
ALL ALL = (author1) /home/author1/public_bin/*
然而,看看
mansudoers
,了解wrt的含义。环境和命令行参数。755是您需要的*nix权限。这将为所有者提供完全访问权限以及其他读取和执行权限
正如其他人所说,没有办法使代码不可读。然而,你可以混淆你的代码,这样只有一个相当好的程序员才能解码它。有在线工具,如果你在bing上搜索“perl模糊”,你会得到一些好的结果;这些工具意味着不需要模块。或者我个人最喜欢的模块是Acme::漂白粉。755是您需要的*nix权限。这将为所有者提供完全访问权限以及其他读取和执行权限
正如其他人所说,没有办法使代码不可读。然而,你可以混淆你的代码,这样只有一个相当好的程序员才能解码它。有在线工具,如果你在bing上搜索“perl模糊”,你会得到一些好的结果;这些工具意味着不需要模块。或者我个人最喜欢的模块是Acme::Bleat。如果您想将代码发送给不应该看到源代码的客户,请忘记它。最好的办法是签订许可协议。@PerlDuck,哼。。。这是关于让一个文件根据阅读者的不同而显得不同。我看不出这有什么关系,连在一起的问题和它的答案都不能让剧本不可读。它涉及到使脚本使用的数据无法读取,但这在这里并不有用。如果您想将代码发送给不应该看到源代码的客户,请忘记它。最好的办法是签订许可协议。@PerlDuck,哼。。。这是关于让一个文件根据阅读者的不同而显得不同。我看不出这有什么关系,连在一起的问题和它的答案都不能让剧本不可读。这涉及到使脚本使用的数据无法读取,但这在这里没有用处。Re“我能想到的唯一解决办法是将脚本重写为Web服务。”,或者更一般地说,让脚本由不同的用户运行,而不是由不应该能够读取脚本的用户运行。这可能是一个web服务,但也可能是通过模拟(
sudo
)等。Re“我能想到的唯一解决办法是将脚本重写为web服务。”,或者更一般地说,让脚本由不同的用户运行,而不是由不能读取脚本的用户运行。这可能是一个web服务,但也可能是通过模拟(sudo
)实现的。