Я пытаюсь внедрить код в сценарий загрузки на основе Perl, чтобы проверить, вошел ли посетитель URL загрузки в WordPress. В противном случае не разрешайте загрузку. Прямые ссылки на скачивание похожи на external.com/vembed-
в конце сценария Perl.
Я пытаюсь добавить код из 1 и 2 ниже в 3:
Определения:
define('COOKIE_DOMAIN', '.xxxfff.com');
define('COOKIEHASH', md5('xxxfff.com'));
define('ADMIN_COOKIE_PATH', '/');
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');
Код:
require_once $_SERVER['DOCUMENT_ROOT'] . 'blog/wp-load.php';
global $current_user;
$current_user = wp_get_current_user();
//var_dump($current_user->ID);
//var_dump($current_user->display_name);
//var_dump($_COOKIE);
if ( !function_exists( 'is_user_logged_in' ) ) {
require_once $_SERVER['DOCUMENT_ROOT'] . 'blog/wp-includes/pluggable.php';
}
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
// Not logged in.
echo 'not logged in';
} else {
// Logged in.
echo 'logged in';
}
(часть кода скрипта загрузки)
perl
my $code = (split('/',$ENV{REQUEST_URI}))[-2];
print("Content-type:text/html\n\nLink expired"),exit if time > $expire;
print STDERR "GET $file_code from $ENV{REMOTE_ADDR}\n";
$speed||=50000;
my $dx = sprintf("%05d",$file_id/$c->{files_per_folder});
my $expected_ip = join('.', $i1, $i2, $i3, $i4);
my $mask = join('.', $m1, $m2, $m3, $m4);
my $orig_dir = "$1/orig" if $c->{upload_dir} =~ /^(.*)\/uploads/;
my $file_path = $orig ? "$orig_dir/$dx/$file_code" : "$c->{upload_dir}/$dx/$file_code";
Я пытался и ожидал, что смогу проверить, вошел ли пользователь в WordPress, но ничего не произошло.
Что я могу сделать на конце WordPress и на скрипте perl?