Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

How do I read code from another file into my script?

by Anonymous Monk
on May 10, 2000 at 09:13 UTC ( #10907=perlquestion: print w/replies, xml ) Need Help??

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

How would I change a script from using the included "@referers" to a separate file using "require" to read it?

@referers = ('', 'file:/guest.htm', ''); # Check Referring URL &check_url; sub check_url { if ($ENV{'HTTP_REFERER'}) { foreach $referer (@referers) { if ($ENV{'HTTP_REFERER'} =~ /$referer/i) { $check_referer = '1'; last; } } } else { $check_referer = '1'; } if ($check_referer != 1) { &error('bad_referer'); } }

Originally posted as a Categorized Question.

Replies are listed 'Best First'.
Re: How do I read code from another file into my script?
by httptech (Chaplain) on May 10, 2000 at 16:09 UTC
    I'm not sure if you're wanting to put the @referers variable into a separate file, or if you're wanting to put the check_url subroutine there, but just think of a required file as if it were cut and pasted in the exact spot where you put the "require" statement.

    So, just cut whatever you want out of your main script, put it in a separate file, and put the require "" in its place.

    However, you should realize that the HTTP_REFERER variable is useless as a security measure, since it is set by the browser, and anyone can bypass your check with some basic perl.

      Thank you very much for the answer. As for security, the referers rquire file is to allow only someone from the listed domains. If you can think of any other security solution, I'm all ears ! Peter

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://10907]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (2)
As of 2021-04-21 04:01 GMT
Find Nodes?
    Voting Booth?

    No recent polls found