Full-stack development, Security, and Design.

Myung

    滑动图片以阅读

    SHIFT + 鼠标滚轮滑动

我为此设计了一个看起来非常典雅的 Logo,尤其是那个红色印章显得富有文化底蕴。最初,我想将它命名为 "明",寓意点亮未来的道路。后来,我又想为它赋予一个充满潜力的理念。

虽然还没有着手设计 Myung 的官网,但我已经可以想象到一个扇子、然后每个扇叶中有不同画卷和水墨风格的动态效果的美术呈现,一定惊艳无比。

唯一需要担心的就是设计上我需要花多少功夫去弄特效( Gsap+Three 的配合所呈现的效果肯定很棒),和我能不能实现其 Myung 的核心逻辑(相当于是一个新的数据存储和缓存逻辑)

众所周知,前端已经拥有 SSG(Static Site Generation,静态站点生成)方案,而我希望将这种方案应用到后端服务中,使 API 具有类似 SSG 的功能,即 SDG(Static Data Generation,静态数据生成)。

但是目前我只想到了应对 GET 请求的方案,对于 GET 请求,目前有一个完整的处理思路。

我将首先提供一个支持 Vert.x 的包,可以通过 Maven、Gradle 引入依赖。然后,在构建 API 时,可以在 Gateway、Controller、Routing 或任何涉及 RESTful API 的构建位置引入 Myung。

(或者直接开坑写一个缓存数据框架也是有可能的。感谢 dragove 的新点子。)

届时,Myung 会像沙漏一样,每十分钟获取一次数据库数据(时间可自行配置)。然后,它会拦截并替换来自 Myung 构建的静态 API 数据。

目前的思路和策略还不完整以应对 POST 请求,因为它可能涉及修改、删除、更新等较为复杂的操作,而 GET 请求只涉及查询,因此较为简单。

假设每次 POST 请求都带有密钥或验证口令,如果与后端生成的验证或口令匹配,则可以执行相应的操作。这个口令或验证是实时的,因此需要与前端和后端保持同步(根据时间和数据的约定)。

数据与时间约定是我在 10.13140/RG.2.2.14314.90563/1 中提出了一个 IDEA,主要针对分布式网络(但也涉及 RESTful API)。

然而,这种方法也存在一些问题,会使整个服务和架构变得臃肿,因为需要单独列出一个服务器用于数据同步。实际上,这个服务也会暴露其接口,稍有心机的攻击者也可以将其作为攻击切入点。

唯一可能的方式是将提交的数据存储在 cookie 中,然后由前端审计引擎根据规则进行分析。

但前端的许多数据都是暴露在外面的,无论是否加密,都会增加攻击成本。这种方法针对低水平的攻击者可能有效,但如果面对高级的攻击者,可能会成为攻击的切入点。

假设在理想状态下,用户提交的 POST 数据预先存储在 cookie 中,然后进行规则和审计,如果数据正确,则直接预渲染在视图中(需要前端支持从 cookie 预加载)。否则,直接拦截。这种反复尝试规则遍历可能导致浏览器当前页面崩溃,因此受害者往往是攻击者。

因此,除非未来有新的 RFC 和传输协议的支持,并经过数年的推动和标准化,否则无法实现绝对的安全操作,更多的是增加攻击成本。

图源 1 | 就像 MLS 一样在 CCC 那样 2023 年 7 月提出的提案被 Discord、Matrix、Wire 所应用(Matrix真的很安全)。
https://events.ccc.de/congress/2023/hub/en/event/rfc_9420_or_how_to_scale_end-to-end_encryption_with_messaging_layer_security/

或者。目前有一个更加理想的状态去完成 POST 的操作,即用户密钥(Face ID 或 Touch ID)这种方式通常仅在较为严重的用户决策时进行验证(大多是 API 调用次数要钱,因此很节约)

如果未来琼楼搭配 Myung 共同完成这个 IDEA。我想、这可能是目前前端组件库中,为数不多考虑安全性的开源项目。

图源 2 | CVE-2023-22527:RCE (Remote Code Execution) Vulnerability
https://t.me/Oracleimpact/901 | Thank:Nian

恰好在我完成这篇文章时,Linux.cn 停止了运营。说实话,作为资讯类的开源社区文章和内容作为新闻聚合非常好,如果贡献翻译和推广 Linux 技术和生态是其使命,那 Linux.cn 显然已经完成了。

图源 3 | “Linux 中国” 开源社区,停止运营
https://linux.cn/article-16602-1.html

而 Linux 在印度的完全本地化和商业推广,离不开国际形势和其他方面的文化和影响。在网站运营者在其封面文章中所阐述的:“这带来了巨大的资金压力,尤其是在托管服务器价格高昂的那段时期。”

我认为,如果通过 Discuz! X 来搭建论坛,确实需要大量的服务器压力和精力投入,是属于下线很高但上线很低的这种定位。如果是我,我更倾向于直接使用 Github API 组建前端页面,然后数据等来自 Github。

通过前者来实现,不仅需要考虑云服务支出和维护,以及大量时间去探索其 Discuz 的扩展,设计上和用户体验上可能受限。其次就是安全性,甚至你可以在文章评论区下方看到还有人在测试 XSS。

(至于出发点,可能是 PHP 强大的语言魅力吧)

这样,除了降低后端的压力和经济投入外,即使数据压力增加,也不需要太多资金,而且还可以让贡献值更加透明。

不幸的是,在印度可能无法访问或无法为印度受众提供服务,因此他们选择了自建论坛的方式呈现。

同时,我还注意到他们的微信公众号是以公司名义注册的,这显然是一个商业性质的公司。如果是商业性质的开源项目,贪图利润而投入那是理所当然的。

*并没有攻击 Linux.cn 是逐利的意思,而是说公司就是公司,公司的目的就是赚钱的。衡量一个公司的好坏就是提供了多少的就业岗位,每年的利润有多少、交了多少税。其次才是社会贡献等方面综合因素衡量,如果格局大一点还可以引入 ESG(环境、社会与治理,Environmental, social, and corporate governance)作为参考标准。

但如果是新闻资讯和媒体方面的开源社区,又不愿意进行推广、炒作和私域等活动,也没有核心的技术和用户所需的需求,那自然会变得困难。

只有那一两位核心用户和贡献者无偿维护和推广时,没有特殊的技术和文化积淀,经过一段时间后,投入难以得到回报,心理压力就会变得巨大,所以形成了目前的局面。


温馨提示

本文或本博客(HTTPS://MEMBER.ACM.ORG/~RHYMEQ)内容不针对任何个人和厂商。如果您觉得阅读后对您产生了一定的伤害,包括但不限于心理不适、焦虑、心情烦躁等。

对此,我(泛指:BLOG 实际作者、网站运营者)感到非常抱歉,还请您理解作者本人患有严重的抑郁症、自闭症、自大\嫉妒型妄想症,是一个 UNDERACHIEVER \ LOSER \ FAILURE \ DUD \ WASHOUT 标签集大成者。

假设您是一位专业的读者,但不限于网络安全从业者、自由职业者、程序员 \ 工程师、公司领导、运维、区块链开发、测试、运营、设计师及受过高等教育的高素质人群,甚至是创业者、CEO;

又或者您不认为或不承认自己接受过与高等教育类似的学习经历,对本文持有严重的怀疑态度,以及严谨性、专业性、可信度(在此泛指没有您认为的专业的机构、媒体、受过备案的平台转发、公众号、论坛或报道的相关文章)等,请您理解:

不是所有人都像您一样优秀。如果您感觉本文存在严重的错误,如写作手法、基本的语言逻辑、措辞、语法、名词、描述等涉及到语文、九年义务教育漏网之鱼、甚至是 code 逻辑、设计规格、思维逻辑、写作严谨等问题请点击此处对本文进行编辑。

如果您感觉上面几条问题是您阅读后的真实感受,我感到非常抱歉。在此之后,我一定会提升社交能力、语言表达能力、人际交流能力、心理活动观察、专业技术(各类)、结构思考力、系统思考、结构共同能力、结构领导力等一系列涉及 "结构" 的能力。同时,深度学习《礼记》、《诗经》等能提升文学能力,阅读传统文化的古今中外享誉世界的名著,如《简爱》、《小王子》、《论语》、《钢铁是怎样炼成的》、《曾国藩家书》、《物种起源》等。

您觉得本文、本网站中的数字媒体资源,如图片、视频、文字或符号(Unicode 规范中存在的标准化符号),可能存在或怀疑是西方(泛指西方国家、西方文化区、西洋;又或者欧洲、北美洲、澳大拉西亚国家)文化、科学技术入侵等问题、疑虑等。

对此,本人感到非常抱歉,未来将尽可能通过信创 - 新势力(信息技术\科技创新)技术架构,如 Spring Cloud Alibaba、ArkTS、GaussDB、达梦数据库、Unity Operating System、CEC-IDE、HBuilder、Tengine、立创泰山派等(不一一列举)进行迭代。

并且,本网站会尽可能更新、维护和引进新的、更加现代化且快速的敏感词处理、过滤工具。如果您有推荐的产品或相关方面的建议,欢迎联系。

关于作者 | 道德准则 | 网站地图 | GPG | RSS

Designed, Developed, and Written by Rhyme.Q ❄️
Copyright © 2013 - 2024 RHYME Q. All Rights Reserved. 韵清 版权所有

DEPLOY workflows: