http://www.perlmonks.org?node_id=988810


in reply to Re: How to ensure that a supported version of my script is being executed?
in thread How to ensure that a supported version of my script is being executed?

Greetings, I'm not sure what kind of an environment you are working in. But you should have little difficulty controlling who uses your script(s), and from where.
For example, you could prevent exec(ing) based on an eval as to where the posted || query is comming from ( $local || $remote), or even from where the script has been exec(ed) within the system itself (get $pwd || $cwd). This is a farily trivial matter. You could perfom the eval(s) from within the script, or, if Apache for example, within the server itself. Example:
Create a var(iable) : $ENV{SERVER_NAME};
create a Condition : unless (defined($ENV{SERVER_NAME}) == mydomain.tld, die "goto h3ll";
Problem solved. :)
Best wishes.
--Chris
#!/usr/bin/perl -Tw
use perl::always;
my $perl_version = "5.12.4";
print $perl_version;

Replies are listed 'Best First'.
Re^3: How to ensure that a supported version of my script is being executed?
by flexvault (Monsignor) on Aug 21, 2012 at 20:03 UTC

    taint,

    Don't know it you meant your comment for me or for the OP's original question, but the OP did state that the 'person(s)' know(s) Perl, and can delete/modify code that tests for the correct script. A simple '#" in front of your code would defeat the test.

    It's still a management problem.

    "Well done is better than well said." - Benjamin Franklin

      Greetings, It was intended for the OP (I apparently missed the "they can re-write" his script part). :P
      In response to your post; Right you are -- chown opuid:opgid ./opscript-name; chmod 0744 ./opscript-name (op prefix meaning Original Poster). :)
      --Chris
      #!/usr/bin/perl -Tw
      use perl::always;
      my $perl_version = "5.12.4";
      print $perl_version;