我想写一个chrome扩展,上传自己的浏览记录到我的数据库。可是百度说js连接不了数据库,不知道大佬们有什么办法,求告知!!

发布于 2022-09-07 16:27:47 字数 14 浏览 27 评论 0

js操作数据库

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

匿名。 2022-09-14 16:27:47

可行的办法倒是有,但都要求数据库是你自己的,而且安全去喂狗

浏览器JavaScript不能直接连接数据库,最根本的原因是宿主环境是浏览器,而浏览器一般情况下不会提供TCP Socket直接给JavaScript用,太危险了。最接近的Websocket是应用层协议,SQL服务器根本不会认。有没有办法搞到TCP Socket呢?还真有。

  1. Chrome Apps:算是Chrome Extension的加强版,本来设计是给Chrome OS用的,后来开了口子给其他系统用,最近又反悔了,从商店下架了所有Apps,但API还是没删掉。作为Chrome OS的Native Apps替代品,自然是有完整的TCP Socket可以用的,chrome.sockets.tcp可以了解一下。
  2. Extension + Native:浏览器不给TCP Socket,但是允许Extension跟原生本地程序通信,原生本地程序又可以随便开TCP Socket,那就简单了。本地搭一个node服务器其实很快,之前学过的话一个小时就能完事(而且写JavaScript的迟早都要学node不是么),比去写Chrome Apps还快,毕竟你不用从TCP开始从头开发,npm上一大堆数据库的包可以用。

但是以上方式都要求你的数据库能从公网直接访问。考虑到目前国内的网络环境,题主应该是没有自己的IP的,那数据库就会暴露给一整个网段,想想都觉得菊花不保。

补充一下,上面题主的评论里提到了JackDB,我觉得很神奇,于是注册了一下,然后发现它只不过是个网站的快捷方式……那个网站的工作方式也是第三方转发SQL请求,要把密码直接交给网站,真是简单粗暴……

clipboard.png

若水般的淡然安静女子 2022-09-14 16:27:47

前端 的js肯定不能直接操作数据库,但你可以通过ajax把数据发给接口,通过接口把数据写入数据库。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文