javascript 如何使用JS/jQuery或PHP隐藏iframe或embed标签的src?

ivqmmu1c  于 2022-11-20  发布在  Java
关注(0)|答案(1)|浏览(151)

我试图隐藏一个pdf文件的源网址在一个iframe /嵌入。我不知道如何。
我尝试了所有以前退出的答案,但没有一个是工作。

<?php
    $url = $_GET['url'];
?>

<embed id="renderedPrint" style="height:calc(100% - 4px);width:calc(100% - 4px);padding:0;margin:0;border:0;"></embed>

<script>
    $(document).ready(function() {
        var encryptedString = "assets/labels/" + "<?php echo $url; ?>" + ".pdf";
        $("#renderedPrint").attr("src", encodeURIComponent(encryptedString));

    });
</script>

但是无论我使用哪种方法(Obfuscator,php openssl_encrypt/decrypt),输出的url总是可见的。
我不想让用户找到iframe/embed的url,我想让它很难或者甚至从前端隐藏url。
这样做的目的是,我不希望用户直接访问生成的pdf文件。他们可能会复制iframe的src url并将其发送给其他人。我们不能阻止他们下载pdf,但我不希望他们从服务器复制源url。

vof42yt1

vof42yt11#

检查此代码,您应该将文件地址添加到DB

<?php
    // get id to search on DB and get detail
    $id = $_REQUEST['id'];

    try {
        $conn = new PDO("pgsql:host=$host;port=5432;dbname=$dbname", $username, $password);
        // set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        //echo "Connected successfully";
    } catch(PDOException $e) {
        echo "Connection failed: " . $e->getMessage();
    }

    $stmt = $conn->prepare("SELECT url FROM mytable WHERE id=? LIMIT 1"); 
    $stmt->execute([$id]); 
    $row = $stmt->fetch();
    // the address of file in server 
    $path = $row['url'];

    if (file_exists($path) && is_readable($path)) {
        // get the file size and send the http headers
        $size = filesize($path);
        header('Content-Type: application/octet-stream'); 
        header('Content-Length: '.$size);
        header('Content-Disposition: attachment; filename='.$filename);
        header('Content-Transfer-Encoding: binary');
        // open the file in binary read-only mode
        // display the error messages if the file can´t be opened
        $file = @ fopen($path, 'rb');
        if ($file) {
        // stream the file and exit the script when complete
            fpassthru($file);
            exit;
        } else {
            echo $err;
        }
    } else {
        echo 'check that file exists and is readable';;
    }

    ?>

相关问题