Cat*_*ysm 0 firefox firebug google-chrome firefox-addon google-chrome-extension
我想在每个网页上禁用使用firebug.有时,我们在我的ui小部件中嵌入了重要的键或id.服务器端的一些方法将采用这些密钥进行处理.所以,有人可以通过firebug进行编辑.这可能导致数据库的错误数据更新或网页中显示的错误数据.对于安全选项,我想禁用使用firebug或浏览器的其他开发人员工具.作为GoogleChrome的主页,当我打开firebug时,我想显示如下错误信息..

我该怎么做呢?例如:我想用JavaScript验证我的表单数据,或者使用JQuery Form Validation, 这很好.但是,当我使用firebug和删除错误消息的元素将成为验证此表单.如何防止它!任何建议将不胜感激.真的,我不仅意味着firebug,还意味着其他开发人员工具,插件,插件.我的问题要点是如何禁用它们.Chrome浏览器主页处理和验证表单实例中的FireBug是我想要做的示例.
TL; DR没有办法以这种方式实现任何类型的安全性.你永远不能相信客户.
最后,浏览器只是下载一堆HTML和JavaScript文件(以及图像和CSS等)并在窗口中执行/呈现它们,遵循如何显示HTML和CSS以及如何执行的规范JavaScript的.Internet浏览器不会像下载文档那样将文件保存到磁盘,但实际上并没有什么不同.(好吧,它正在下载文件,而不是在你的"Documents"文件夹中)它只是在浏览网页的环境中做所有事情,以方便用户查看格式良好的页面,而不是HTML标记.但是这些文件只是文件,可以在浏览器上下文之外生存(即读取和编辑).
因此,如果您的某个JavaScript文件中包含任何类型的密钥,则禁止使用Firebug Lite不会阻止任何人访问密钥,因为我可以使用curl或wget等工具下载该文件,并在文本编辑器中读取它.请记住,在浏览器中完成的任何操作都可以通过curl"手动"完成.
让我们假设你有办法通过一些JavaScript禁止你的页面中的Firebug Lite.我总是可以使用某种自定义浏览器,其行为与浏览器完全相同,只是它不会执行该特定代码.浏览器将执行为页面提供的所有代码,这是一种惯例,但技术上没有任何东西阻止它被选择性.(许多浏览器扩展实际上使它们变得有选择性.想到AdBlock)
不要误会我的意思:表单中的客户端验证是有用且方便的,但它永远不应取代服务器端验证.您需要编写服务器端代码,以便为所有查询验证用户的身份(通常通过cookie),并且只有在该用户具有适当权限时才执行查询.(你当然也想检查输入值的有效性)
无法远程禁用或影响用户浏览器中的插件.能够这样做将代表一个巨大的安全漏洞.有一些方法可以检测他们是否正在使用adblock,但除此之外,你需要解决这些插件,而不是试图打败它们.
就我而言,Web编程的第一条规则永远不会信任用户输入.无论您在客户端做什么,聪明且坚定的用户总能找到破解您的网站,发送无效数据等的方法.为此:
在浏览器中验证,但也在服务器上验证.所有人必须做的是禁用javascript,并且您的客户端验证将不会执行.或者,如果他们非常坚定,他们可以在本地保存html文件的副本,编辑阻止他们做他们想做的事情,然后在浏览器中加载他们自己的版本并从中提交.您无法阻止这种情况,因此您必须通过在对服务器执行任何操作之前验证服务器上的所有输入来对其进行说明.
不要将未加密的敏感数据放入浏览器中.即使它处于隐藏的字段中,它们也可以再次进入代码,读取/更改它,然后再次提交自己的版本.如果可能,请在服务器上缓存此类数据.如果这是不可能的,请将其提供给加密的用户,这样即使他们能够看到价值,对他们来说也毫无意义.
这样看:浏览器验证是为了用户的利益,因此他们不会浪费带宽; 服务器验证是为了系统的好处,以确保您不接受无效数据.
该唯一实例,您可以逃脱没有做这些事情是,如果你正在开发一个专业的客户,谁没有理由做任何的这些东西一个私有应用程序,而且即便如此,你就应该在验证输入的习惯有关无论如何,服务器是理所当然的.因此,无论您正在构建什么或您的期望是什么都无关紧要,您应该始终在客户端和服务器这两个地方进行验证.
| 归档时间: |
|
| 查看次数: |
4287 次 |
| 最近记录: |