Wenn ich ein Objekt in eine React-Datei importiere, um einige seiner Werte zu verwenden, kann es dann zu Sicherheitsproblemen kommen?
Zum Beispiel, wenn ich ein Objekt wie dieses habe:
var data = { 'name': 'Adam', 'id': 12345, 'secret': 98765 }
Und ich importiere es so:
import { data } from 'db.js'; function Index(){ return( <> {data.name} {data.id} > ); }
Würde ich ein Szenario erstellen, in dem jemand den „geheimen“ Wert mithilfe des importierten „Daten“-Objekts aufrufen und anzeigen könnte, oder würde React verhindern, dass dies geschieht?
您应该将发送到客户端机器的任何代码视为公开的。任何足够专注的开发人员最终都可以进行逆向工程(尽管代码的大小和缩小/混淆可能会增加难度)。
保持
secret
秘密的唯一方法是首先不将其发送到客户端 - 这可以通过在服务器上完成所有渲染工作,然后将生成的HTML标记发送到客户端来实现。(话虽如此,由于客户端渲染组件的灵活性更大,通常最好的做法是在客户端的捆绑包中不包含敏感值。)