0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中国首个自主创新智能浏览器内核”的红芯浏览器,被网友发现“只是谷歌浏览器换了一层皮”

cMdW_icsmart 来源:未知 作者:李倩 2018-08-20 17:13 次阅读

处于风口浪尖的红芯浏览器,其中的两款插件代码被公开以后,在程序员群体中打开了“群嘲”模式。

8月16日,自称“打破美国垄断,中国首个自主创新智能浏览器内核”的红芯浏览器,被网友发现“只是谷歌浏览器换了一层皮”——红芯浏览器安装包解压后发现,最终可以得到一个版本号为49.1.2623.213的Chrome文件。

目前,在红芯浏览器的安装包中有两个浏览器插件可以看到源代码,不少互联网工程师通过阅读代码发现,红芯的代码存在过度注释、代码冗余、语言陈旧等问题,甚至还有工程师测试后发现,它在插件的保密性上存在虚假宣传。

一位从事数据相关业务的工程师对澎湃新闻记者表示,红芯浏览器插件的源代码中存在大量的注释,显得注释过度。一般熟练的程序员日常写代码时不会所有内容都进行注释,简单的接口不用注释,也不用重复注释。

“注释的主要功能是提醒程序员某一段代码的用途,但每一句都加注释,太浪费工作效率,而且显得十分业余。”一位从事汽车软件开发的工程师这样说道。

另一位来自外资科技公司的程序员则向记者评价称:“中文注释说明水平可能不高,说明懂英文的人不多。”

而且,一位程序员认为,产品上线后大量注释都没有处理,没办法期待它有什么安全性可言的,“注释就是解释程序运行的文档,产品上线之后一般是要去掉的,防止被其他人摸清运行机制后进行攻击,这是最基本的安全意识。”

而另一个比较显著的问题是,红芯的代码被指层层复制,存在大量冗余的内容。

“以密码管家这款插件为例,它的源代码中,一个仅350行的文件就有100行是重复的。说明写该插件代码的程序员不懂封装,即把代码中相同的部分抽象成一个单独的函数。”一位程序员指出。

“有些重复的代码可以写成一个函数。业务逻辑通过参数传进去。”一位工程师向澎湃新闻记者打比方称,“比如要得到某人老公的姓名,用函数实现的话,就是输入‘孙俪’得到‘邓超’,而不用写孙俪老公邓超、杨颖老公黄晓明等好多个。”

另外,还有程序员向记者指出,上述插件代码中,大量使用常量字符串,这使得之后可能的重构变得非常困难,以及不利于国际化等进一步开发。此外还充斥着大量面条式代码,导致开发人员阅读和后续开发困难。(编注:面条式代码,指源代码的控制流程复杂,混乱难以理解。)

一位在出行互联网公司工作的工程师在看过红芯插件的代码后表示:“水平还凑合,就是写法有些陈旧,差不多是四五年前的写法吧。”这一说法得到另一位工程师的认同:“代码中大量使用的jQuery是12年前发布的,已经过时,使得代码冗长不易读懂”。

一位资深前端工程师则指出,现在市面上成熟的前端团队很少使用JavaScript语言,为了工程化都是用Typescript进行工程构建的。“红芯的代码不仅是JavaScript,还是第六版之前的风格,没有经过代码构建和混淆以及去注释、压缩等过程。这是严重缺乏专业性的表现,一般这种代码只会在外包代码中出现。”

除了代码的被指显得不够专业,更值得注意的是,红芯浏览器插件在数据安全方面也值得商榷。

一位程序员试验发现,红芯的密码管家插件中所存储的密码仅存储于本地并且没有加密,即用户可知道使用同一台计算机的其他人的密码。

该程序员向澎湃新闻记者指出,通过阅读密码管家的代码,发现存在密码管家里的密码都是明文存在一个叫做“local storage”的地方,local storage在chromium里是存在一个本地的sqlite数据库文件里,并且这个数据库文件没有加密。这个文件被存在每个用户的AppData文件夹里。

插件将明文密码存在local storage中,存在本地的sqlite数据库的文件没有被加密。

红芯浏览器的官网产品介绍称,其数据缓存及存储层使用了数据加密箱。然而该程序员发现,经他试验,红芯浏览器的数据缓存并未如其宣称的那样进行加密。

8月16日晚,红芯时代(北京)科技有限公司发布声明称:红芯浏览器内核是基于通用的浏览器内核架构(即Chromium开源项目,但不是Chrome浏览器)的基础上进行技术创新的;区别于传统的浏览器,红芯浏览器是专门针对企业办公场景设计的国际上浏览器内核技术是不断迭代更新的,红芯浏览器内核 Redcore是基于 Chromium/Bnk。

对此,不少程序员纷纷吐槽,红芯浏览器套用的谷歌49.1.2623.213版本的Chrome文件,是比较陈旧的版本,因为这是谷歌浏览器Chrome最后一个支持Windows XP系统的版本,而红芯浏览器是支持XP系统的。

“这说明他们连最起码的代码修改都不会,360浏览器也是基于Chrome内核,用的是最新的69版本,它们就做了XP的适配。”一位程序员告诉记者。

红芯时代在声明中称,Redcore内核的技术创新体现在以下三方面:第一,红芯隐盾该功能主要是让企业的应用系统隐身,只对特定身份和设备可见,从而有效避免外部可能的攻击。第二,红芯云适配,主要是将企业PC端系统适配至移动端,从而帮助企业快速实现移动办公;第三,安全可控浏览器,通过私有DNS、加密缓存国密算法支持等功能,帮助企业迸行数据保护和隐私保护这些功能都源自于企业客户的需求。

一位资深的前端工程师向澎湃新闻记者直言,红芯时代所称的三点创新“完全是在混淆视听”。

“因为他们是通过浏览器插件的形式实现的,他们将话题锁定在浏览器上,让公众以为浏览器是他们的创新。而打开Chrome插件市场,类似功能的插件可以说是非常多的。” 该工程师解释道,“至于价值,好的浏览器插件是有可能有千万级估值的,但是现在Chrome插件市场整体不景气,高质量的Chrome插件应该有百万左右的价值。但我不认为红芯的插件是高质量插件。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    54

    文章

    10892

    浏览量

    100682
  • 浏览器
    +关注

    关注

    1

    文章

    967

    浏览量

    34362

原文标题:程序员群嘲红芯浏览器:注释过度很业余,创新混淆视听!

文章出处:【微信号:icsmart,微信公众号:芯智讯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Edge浏览器关闭Microsoft Rewards扩展原因揭晓

    据报道,近期德国等地的Microsoft Edge浏览器用户发现,安装或启动Microsoft Rewards扩展后,会出现“右上角扩展被Edge浏览器禁用以保障您的浏览器安全”的提醒
    的头像 发表于 04-10 09:55 116次阅读

    Mozilla Firefox浏览器推出Text Fragments功能,提升用户体验

    早在2020年,谷歌即在Chrome浏览器中推出了“Scroll to Text Fragments”功能,而Edge、Opera、Brave、Vivaldi以及苹果Safari等基于Chromium的浏览器也已支持这一便捷特性
    的头像 发表于 04-08 10:21 247次阅读

    js脚本怎么在浏览器中运行

    浏览器中运行JavaScript脚本是一种常见的方式,因为JavaScript是一种在Web浏览器中执行的脚本语言。下面是一个详细的,最少1500字的文章,介绍如何在浏览器中运行
    的头像 发表于 11-27 16:46 1376次阅读

    浏览器怎么打开javascript

    浏览器是一种用于浏览和访问互联网页面的应用程序,而JavaScript是一种常用的网页编程语言,用于给网页添加交互和动态效果。本文将详细探讨如何在浏览器中打开JavaScript,并解释
    的头像 发表于 11-26 11:25 932次阅读

    浏览器需要支持javascript怎么解决

    JavaScript是一种流行的脚本语言,用于对网页进行动态交互和功能增强。几乎所有现代浏览器都支持JavaScript,但在某些情况下,用户可能需要采取措施来确保浏览器支持JavaScript
    的头像 发表于 11-26 11:23 2032次阅读

    浏览器支持javascript怎么设置

    浏览器是我们上网冲浪的工具,而JavaScript是一种广泛使用的脚本语言,可以在网页中添加交互性和动态性。因此,确保浏览器正确支持JavaScript是非常重要的。 首先,我们需要理解什么是浏览器
    的头像 发表于 11-26 11:22 744次阅读

    浏览器javascript被禁用怎么解开

    。本文将详细介绍如何解开禁用浏览器JavaScript的方法,希望对您有所帮助。 一、检查浏览器设置 在解决问题之前,我们首先要确认JavaScript是否真的被禁用了。不同的浏览器有不同的禁用JavaScript的设置位置,以
    的头像 发表于 11-26 11:21 8015次阅读

    ie浏览器限制运行脚本

    IE浏览器限制运行脚本是指在Internet Explorer浏览器中,存在一些限制和安全策略,以保护用户的电脑免受恶意脚本的攻击。这些限制有助于防止在浏览器中执行恶意代码,保护用户的隐私和电脑
    的头像 发表于 11-26 11:19 705次阅读

    python控制已经打开的浏览器

    Python是一种广泛使用的编程语言,它具有强大的功能和丰富的库。其中一个功能就是控制已经打开的浏览器。这篇文章将详细介绍如何使用Python控制已经打开的浏览器,并提供一些实际的示例
    的头像 发表于 11-22 14:29 1396次阅读

    基于WAP的嵌入式浏览器设计

    电子发烧友网站提供《基于WAP的嵌入式浏览器设计.pdf》资料免费下载
    发表于 10-24 11:33 0次下载
    基于WAP的嵌入式<b class='flag-5'>浏览器</b>设计

    AI语音识别-我给浏览器加了个语音搜索功能

    本篇文章就采用华为云提供的在线语音识别服务给浏览器设计一个语音自动搜索的功能,编程语言采用C++,软件框架采用QT设计,浏览器内核采用QWebEngineView,在QT5.7以后,QT里就不
    的头像 发表于 07-10 09:18 1199次阅读
    AI语音识别-我给<b class='flag-5'>浏览器</b>加了个语音搜索功能

    PCIe 浏览器用户手册

    PCIe 浏览器用户手册
    发表于 06-27 20:21 0次下载
    PCIe <b class='flag-5'>浏览器</b>用户手册

    暴力猴浏览器插件

    暴力猴浏览器插件
    发表于 05-29 11:20 4次下载

    PCIe 浏览器用户手册

    PCIe 浏览器用户手册
    发表于 05-09 19:00 0次下载
    PCIe <b class='flag-5'>浏览器</b>用户手册

    imx8mp chromium浏览器显示异常怎么解决?

    我用imx8mp连接两个屏幕,显示不同。个是lvds接口的屏,分辨率是1366*768,个是HDMI显示。如果你在HDMI屏幕上打开chromium浏览器到最大,
    发表于 05-06 07:21