Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
锁定我自己的Perl脚本_Perl - Fatal编程技术网

锁定我自己的Perl脚本

锁定我自己的Perl脚本,perl,Perl,如何锁定我的Perl脚本,列出我必须做的事情 防止其他人读取或写入Perl脚本 他们应该只有执行Perl脚本的权限 这取决于您尚未指定的操作系统 通常,这是不可能的 在基于UNIX的系统(如Linux或Mac OS)上,可以向用户、组和所有人授予三种权限:读取、写入和执行 您可以很容易地删除写入权限,但需要读取权限才能执行脚本 (我假设您在Windows上也会遇到类似的问题) 我能想到的唯一解决办法是将脚本重写为Web服务。然后,HTTP服务器需要能够读取它,但用户自己不能。这取决于您的操作系

如何锁定我的Perl脚本,列出我必须做的事情

  • 防止其他人读取或写入Perl脚本

  • 他们应该只有执行Perl脚本的权限


  • 这取决于您尚未指定的操作系统

    通常,这是不可能的

    在基于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
    )实现的。