Javascript 如何使用隐藏URL创建链接

Javascript 如何使用隐藏URL创建链接,javascript,jquery,html,twitter-bootstrap,hyperlink,Javascript,Jquery,Html,Twitter Bootstrap,Hyperlink,我想知道是否可以用创建一个链接,但我更希望该链接可以在所有浏览器中使用(不仅仅是chrome),而不是弹出窗口。我已经可以访问jQuery、Bootstrap和PHP5.5 任何帮助都将不胜感激 更新:我觉得这需要澄清。我不希望它以任何方式可见-也就是说,这是一个不能共享的链接,所以我不能简单地使用重定向,当它悬停在上面时只隐藏URL-我也不希望它在源代码中可见。不便之处,敬请原谅:( 谢谢 ICT您可以使用如下url缩小器:。 $('a')。在('click',()=>{ window.loc

我想知道是否可以用
创建一个链接,但我更希望该链接可以在所有浏览器中使用(不仅仅是chrome),而不是弹出窗口。我已经可以访问jQuery、Bootstrap和PHP5.5

任何帮助都将不胜感激

更新:我觉得这需要澄清。我不希望它以任何方式可见-也就是说,这是一个不能共享的链接,所以我不能简单地使用重定向,当它悬停在上面时只隐藏URL-我也不希望它在源代码中可见。不便之处,敬请原谅:(

谢谢


ICT

您可以使用如下url缩小器:。


$('a')。在('click',()=>{
window.location.href=$(this.attr('data-link');
});

用户在悬停链接时将看不到该链接。

您可以在一个闭包中捕获链接以隐藏它,然后在
无法完全隐藏您试图导航到的URL时将窗口指向该窗口。URL必须以某种形式存在,例如
-te标记的
'href'
属性ll单击要导航到的浏览器

但是,可以通过访问服务器设置来屏蔽URL。使用
.htaccess
文件,可以从一个输入的URL重定向到另一个URL,同时在浏览器的地址栏中保留输入的URL。联机有许多来源解释了如何执行此操作

使用PHP文件中的某些逻辑简单地处理每个链接可能适合将链接隐藏在源代码中。例如,您可以将每个链接发送到
handler.PHP
,并指定要导航到哪个页面的值,即
handler.PHP?page=1

handler.php
将包含以下内容:

<?php
if ($_GET['page'] == 1) header('Location: /where/you/want/to/go');
if ($_GET['page'] == 2) header('Location: /where/else/you/want/to/go');
?>



这样,用户将不知道链接的实际位置,并且(使用
.htaccess
设置)不知道他们导航到的URL。

那么您指的是删除地址栏还是屏蔽当前URL(通过链接访问)在地址栏?@CallanHeard好吧,我不想让它以任何方式可见,包括查看源代码。如果有帮助,我还可以访问PHP5.5和PHP5.4。你不能完全隐藏URL,它必须在某个地方。@ICTman1076我的答案对你有用吗?@kappaismyname是对的,内容的URL必须以正确的方式访问d现在-但是你可以操纵服务器访问来屏蔽地址中的URI。我不认为这会起作用,因为他们可以只共享缩小的链接。但是无论如何,谢谢你的回答:)好的,我认为你只需要在第一眼看到时“隐藏”真实地址,而不是为了防止共享。我认为你找不到任何安全的方法来保护使用Javascript的链接。您应该使用服务器端用户和会话管理。它是否会在单击链接后隐藏链接,或者我是否需要执行其他操作才能实现此目的?您可以轻松隐藏它,只需添加
$(this).hide()
。已经有两个相同实现的答案,你为什么写这个?我刚刚尝试过这个,我担心它没有我想要的行为-链接仍然可以通过源代码看到,但无论如何谢谢你。@ICTman1076你不能使链接不出现在任何地方,即使使用AJAX加载加密数据,客户机也需要一个解密库,通过控制台(断点)/网络选项卡(访问时)可以看到对它的访问。但是,您可以使链接“可消费”,这是支付服务在商户和支付提供商之间跳转时的工作方式,链接中有一个唯一的id,该id仅在几分钟内可用,当访问时,服务器会撤销该id。根据您的使用情况,您可以将该id存储在会话数据中,例如,
$\u会话
中php@PaulS. 有趣的因此,我可以将会话ID与到期时间(即ID生成后1小时)一起存储在MySQL数据库中,然后创建一个类似
http://sorcerertech.pcriot.com/ranks/uprank.php?r=3&id=example
检查GET vars中的ID并查看其是否有效?另外,有没有可能在不使用另一个PHP脚本的情况下使MySQL条目在一段时间后自毁?首先,我不确定将它们视为会话ID是否好,将它们视为会话中Foo的ID。第二,使用Chron等可以删除旧的,但当用户进行脏退出(关闭浏览器而不注销等)时,清除条目的频率应该较低。相反,当点击时,在数据库中查找它,如果找到{store ref,delete from db,test ref for expired(例如time),如果expired goto not found else YAY},否则(如果找不到或过期)不。这意味着客户正在“为自己清理”,因为他们使用你的网站很有趣,但我不相信这完全回答了我的问题。无论如何,谢谢你。:)@ICTman1076啊抱歉,我刚刚看到你关于链接未被共享/重定向的更新,但我仍然必须将重定向器链接放入源代码中,这意味着用户可以简单地复制/粘贴和共享重定向器链接。附:没关系:)
<?php
if ($_GET['page'] == 1) header('Location: /where/you/want/to/go');
if ($_GET['page'] == 2) header('Location: /where/else/you/want/to/go');
?>