禁用 (Ctrl+U) 键盘脚本以阻止视图源
disable (Ctrl+U) keyboard script to prevent view source
我正在寻找禁用键盘脚本以保护隐藏内容。
这是不可能的。用户将始终能够查看您的源,因为他需要下载它才能呈现页面。
查看源的方法比您尝试阻止的方法更多:
- 使用萤火虫
- 使用 wget
- 右键单击选择"查看源"的内容
- 使用菜单选项
- 通过中间的人
- 可能更多...
这不是很复杂,但完全不可靠。它与所有其他Javascript保护相同。
首先是诀窍(IE不兼容):
function denyKey(event) {
var code = event.keyCode;
if(event.ctrlKey) {
if(code==85)
return false;
}
}
window.addEventListener("keydown", denyKey);
我的代码只是划痕,它不是跨浏览器的。这是获取密钥代码的地方。我没有在代码上投入太多精力,因为我想阻止您使用它。
一旦你向用户发送数据,他就可以读取数据,除非你在不给他密钥的情况下加密它们。这意味着任何:
- Javascript身份验证
- 机密加载页面
- Javascript "在下载之前等待..."
- 阻止的鼠标按钮
..用户可以并且将被用户绕过。
例如,我有一个书签来解锁鼠标按钮。
这是不可能的,即使有可能,那也是一种可怕的保护。甚至我可以编写一个简单的脚本来获取任意页面的源代码。客户端看到的所有内容都是"查看源代码"的(有人编辑)。只有服务器端代码是安全的。即使只能通过真正的浏览器查看您的页面(但您无法这样做),您也可能忽略加速键或其他快捷方式。如果你不想让客户看到一些代码,就不要给他!将其保留在服务器端(而不是在.txt
文件中,这也是可访问的)或不保留它。
相关文章:
- FF视图源|脚本高亮显示为红色
- 如何在渲染视图时将变量传递给Node.js中的脚本标记
- 加载Angular视图后加载外部脚本
- 对couchdb数据库/视图中的所有文档运行脚本/查询
- 如果视图中没有Jquery脚本引用,Unobtrusive Javascript Validation是不起作用的
- 将消息从控制器传递到视图中的 AJAX 脚本
- 在局部视图中加载脚本文件
- I'当我试图将java脚本加载到web视图中时,我得到了一个空白屏幕
- Aurelia视图中的脚本标记未执行
- 角度 JS 脚本未更新视图
- 网络视图的电子预加载脚本不起作用
- 多视图未在 Ektron 页面构建器小部件中的回发上运行脚本
- 将 JQuery 脚本应用于特定的网格视图
- 如何使用 java 脚本创建扩展的列表视图
- MVC 4 底部的脚本 - 不执行“视图”页面中的<脚本>
- 应用程序与 Web 视图中注入的脚本之间的通信
- 如何使主布局中的脚本在加载时应用于 angularjs 视图
- Javascript图像360视图脚本只在某些页面上工作
- Ajax.ActionLink()渲染部分视图脚本,但JavaScript代码不
- 单击按钮时执行的视图脚本