2017-03-10 68 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>