DopaminePlz
V2EX  ›  编程

不懂就问:实现这些功能需要学习哪些知识?

  •  
  •   DopaminePlz · Aug 17, 2021 · 2617 views
    This topic created in 1906 days ago, the information mentioned may be changed or developed.

    非计算机专业科班,学校里学过 C 语言(甚至汇编语言),自学过数据结构(跨专业考研失败,说多了都是泪),工作后在家里折腾过软路由、NAS 进而学习到一些 LINUX (基本命令和基本编程)和计算机网络(路由和交换)方面的知识。现在因工作需要,想开发一个简易的前端和后端程序,实现以下功能:

    1. WEB 界面含登陆界面,用用户名和密码登入;

    2. 登入界面后,出现几个按钮,点击不同的按钮,则执行 LINUX 服务器上的命令并在文本区反馈(比如执行服务器上的脚本,对采集到的数据进行统计,甚至允许开启部分防火墙规则等);

    3. 服务器记录该用户的登陆和执行命令方面的操作(包括用户名、时间和执行动作);

    4. 用户名和密码管理通过 SSH 进入服务器完成( WEB-UI 不需要此项功能)。

    请问该学习哪些方面的知识?用那些编程语言或者框架实现好一些?

    谢谢!

    6 replies  •  2021-08-18 08:06:57 +08:00
    UnknoownUser
    UnknoownUser
    Aug 17, 2021 via Android
    1
    搜索宝塔面板
    delectate
    delectate
    Aug 17, 2021
    2
    你需要“宝塔”。
    QingXuJiaZhi
    QingXuJiaZhi
    Aug 17, 2021❤️1
    3
    都是一个普通网站的最基本功能,因此学习建站就可以了。

    对于无基础的人来说,一般后端可以学习 Python 的 Flask 。前端只简单学一点 html 就可以,为了好看可以再学一点 CSS 。

    关于 Flask,有一份非常优秀,也小有名气的教程: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

    另外,ruby 、Javacript 、Go 、PHP 等各种语言都各自有非常简单的网站框架,也可以挑一个来学。
    pod
    pod
    Aug 17, 2021
    4
    webshell ?
    secondwtq
    secondwtq
    Aug 17, 2021
    5
    这个我来做可能会用垃圾佬的思路来做

    比如我的服务器的登录功能,目前是使用 nginx 配置 HTTP Basic Authentication + HTTPS 实现的,因为需求简单(只有我一个人用),所以用着感觉还蛮好 :)

    执行命令可以用大便系统 nginx-extras 包里面带的 Lua 和 Perl 之类的脚本。或者 Python 标准库 http.server 模块简单糊一个。反正只要提供 HTTP 服务肯定得装 nginx,Python 也肯定有。

    前端简单写个 HTML,CSS 都不用,框架也不用。数据 fetch 回来直接 document.getElementById("xxx").innerText =

    日志就不太清楚了。

    主要是因为懒,懒得写各种 boilerplate,写完了还不一定安全。
    DopaminePlz
    DopaminePlz
    OP
    Aug 18, 2021 via Android
    6
    @secondwtq 突然想起来自己的 VPS 上有用到,用来下载 OCSERV 用户证书
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4844 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 08:46 · PVG 16:46 · LAX 00:46 · JFK 03:46
    ♥ Do have faith in what you're doing.