Q&A > files
Description:
How would I change a script from using the included "@referers" to a separate file using "require" to read it?
@referers = ('www.gate.net/~earthdes', 'file:/guest.htm', 'http://www.jamilin.com/'); # 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'); } }
Answer: How do I read code from another file into my script? contributed by httptech 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 "otherfile.pl" 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. |
Please (register and) log in if you wish to add an answer
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |