2017-03-10 103 views
0

我開發一個網站,在那裏我有一個HREF標籤有點像隱藏網址上查看頁面源代碼

<a href="Folder1/Sample.pdf" target="_blank">xam study papers</a> 

將在新標籤中打開PDF文件。

現在,當我打開谷歌瀏覽本網站和

右鍵單擊 - >查看頁面源代碼

。我可以看到相同的內容。

我想隱藏的HREF鏈接,所以我用javacript

<a href="#" id="id1" >xam study papers</a> 
<script> 
$(document).ready(function() { 
$("#id1").on("click", function() {    
    window.open('Folder1/Sample.pdf','_blank'); 
       }); 
}); 
</script> 

不過其表現試過。

所以我需要隱藏的網址。什麼是最好的方法來做同樣的事情。任何幫助讚賞。

+0

我已經改正了它 –

+0

把你的腳本在一個單獨的'。js'文件並將其作爲鏈接包含在HTML中,並且不會顯示在視圖源中。只有當該人從開發者菜單中實際打開特定文件時。 – Arg0n

+0

請使用已經回答的下面的例子 – Dilip

回答

0

您可以生成一個與URL配對的ID,並向客戶端發送此唯一標識。當客戶端使用該ID向服務器發送請求時,您知道該URL與該ID配對,那麼您可以使用該URL來提供該頁面。

在節點,你可以這樣做:

'use strict'; 

var express = require('express'); 
var app = express(); 
var linkDict = []; 

app.get('/', function (req, res) { 
    var id = Date.now(); 
    linkDict[id] = 'mySecretFile.pdf'; 
    res.send('<html><head></head><body><a href="' + id + '">Secret File</a></body></html>'); 
}); 

app.get('/*', function (req, res) { 
    console.log(req); 
    var id = req.params[0]; 
    res.sendFile(__dirname + '/' + linkDict[id]); 
}) 

app.listen(3000, function() { 
    console.log('Listening on 3000'); 
}) 
0

您可以隱藏來自用戶的URL,而只是忠實地:

  • 瞭解HTML的加密&的javascript加密
  • 上有這樣的好文章。 HTML的問題在於瀏覽器仍在存儲這些信息(你可以使用加密來打扮它,但是,無論如何,你都希望無論誰閱讀它,所以他們必須知道如何解密它)。老實說,請爲此使用php令牌。有些人甚至在MYSQL中使用整個表格,但是對於你正在做的事情,我認爲這會做。

    我首先將頭文件設置爲application/pdf,這告訴瀏覽器將字節數據讀爲PDF而不是HTML或文本。接下來,我回應我隱藏的網址的內容。

    <?php 
    
    if (!empty($_GET['token'])) { 
        switch ($_GET['token']) { 
         case "1": 
          header("Content-type: application/pdf"); 
          echo file_get_contents('test.pdf'); 
          break; 
        } 
        die(); 
    } 
    
    ?> 
    <a href="?token=1">xam study papers</a>