Security 访问基于web的软件的用户是否可以看到源代码?

Security 访问基于web的软件的用户是否可以看到源代码?,security,Security,访问基于web的软件的用户是否可以看到软件源代码?i、 e.有权访问我的URL的任何人是否有权访问软件源代码(假设URL是软件运行的地方) 那么需要用户登录的软件呢。是否所有具有登录凭据的用户都有权访问软件源代码(假设其用户有权访问完整软件) 如果源代码通常是可见的-是否有任何安全措施可以采取,以避免盗窃 编辑:关于软件源代码,我指的是全面的一切(服务器端、客户端等)简短和一般的答案: 对于在web服务器上执行的程序代码:否,最终用户根本看不到此代码 对于在web浏览器中执行的程序代码(即HT

访问基于web的软件的用户是否可以看到软件源代码?i、 e.有权访问我的URL的任何人是否有权访问软件源代码(假设URL是软件运行的地方)

那么需要用户登录的软件呢。是否所有具有登录凭据的用户都有权访问软件源代码(假设其用户有权访问完整软件)

如果源代码通常是可见的-是否有任何安全措施可以采取,以避免盗窃

编辑:关于软件源代码,我指的是全面的一切(服务器端、客户端等)

简短和一般的答案:
  • 对于在web服务器上执行的程序代码:,最终用户根本看不到此代码

  • 对于在web浏览器中执行的程序代码(即HTML、CSS和JavaScript):,最终用户必须访问此代码,浏览器才能运行它。WWW不支持任何类型的DRM

这些答案的例外情况:
  • 如果服务器端代码是“本地”的,那么on-prem硬件的系统管理员可以轻松地查看服务器端代码

    • 如果是严格解释的代码,比如PHP或经典ASP,那么是的,源代码是可见的
    • 如果是本机编译代码(例如CGI),则为否(除非用户可以读取程序集)
    • 如果是像C#(ASP.NET)或Java(JSP、Tomcat等)这样的VM代码,那么代码可以很容易地反编译
  • 服务器端代码可能无意中暴露在“云”中(不在prem安装上):

    • 错误消息通常显示发生错误的几行源代码
    • 此漏洞可能会将应用程序的原始文件系统暴露给用户
  • 客户端代码仍然可以混淆

    • 这通常只是缩小的结果,但您可以故意混淆JavaScript。不能混淆HTML和CSS
  • 显然,用于Node.JS服务器端执行和客户端执行的“混合”JavaScript将被公开,但这不应被视为安全风险,除非您以某种方式在这些脚本中嵌入秘密


定义:“源代码”。HTML和CSS被认为是值得“保护”的源代码吗?谢谢!我没有技术背景,所以请容忍我。据我所知,这取决于具体的设置,但是客户端代码更难隐藏。如果问题是某人是否可以轻易地窃取软件,那么客户端代码是否会产生重大影响?更具体地说,如果您对构建在线软件所涉及的工作进行量化/比较,那么与服务器端或整个软件相比,客户端的成本/时间是否有一个平均百分比?客户端是多数、少数还是平等?或者这有很大的不同吗?@walsingham97它有很大的不同。