xamarin - 是否可以在构建的应用程序中查看 React Native 源代码?

标签 xamarin react-native

我是一名希望能够制作跨平台应用程序的开发人员,并且遇到了 Xamarin 和 React Native。

由于 Xamarin 使用的语言是 C#,这意味着必须先编译代码才能运行应用程序。然而,React Native 使用 JavaScript。由于JavaScript源代码可以在网站上看到,并且不像PHP那样被下载到网页中,这意味着客户端用户可以很容易地查看源代码。如果用户能够轻松获取源代码并且相关应用程序连接到数据库,这意味着他们将能够查看密码,从而使应用程序不安全。

问题是,如果我在哪里制作一个使用 React Native 连接到 MySQL 的应用程序,用户是否能够像在网页上那样轻松地查看源代码,或者它是否像 Xamarin 那样编译,使很难查看源代码?

最佳答案

javascript 不会编译为 native 代码。它使用桥梁在 javascript/ native 组件之间进行通信。 JS 被混淆了,但仅此而已。您不应该在客户端存储任何 secret 。

参见:https://github.com/facebook/react-native/issues/1093 “正如@vjeux 所说,我们没有立即计划为 JS 捆绑文件添加加密,是的,根据当前推荐的捆绑说明,您的 JS 将作为明文包含在内,可以相对轻松地提取和反混淆。”

他接着提到了一种对 jsbundle 进行 base64 编码以阻止“临时”黑客的方法,但随后解释说它不会阻止“坚定的黑客”。

您不应将客户端直接连接到数据库。您需要一个安全的服务器来处理身份验证、检索和验证数据库查询。

客户端没有什么是安全的。因此,您必须在调用数据库之前验证所有数据库查询。请参阅:https://www.acunetix.com/websitesecurity/sql-injection/ “SQL 注入(inject)只需要两个条件存在——使用 SQL 的关系数据库,以及直接在 SQL 查询中使用的用户可控输入。

通过允许客户端直接连接到数据库,您无法阻止最古老的攻击。<​​/p>

关于xamarin - 是否可以在构建的应用程序中查看 React Native 源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43804596/

相关文章:

javascript - Require() 在 native react 中

javascript - React-Navigation - 标题与其屏幕组件的交互,失败的 Prop 类型

c# - 更新后 Insights 中的 Xamarin iOS 对象处置异常

react-native - 使用 localhost 时出现 Apollo 客户端/React native 错误

javascript - 如何使用 React js POST JSON 数据?

c# - Prism.Navigation.INavigationService,是一个接口(interface),无法构造

react-native - react-native (expo) 中的 AuthSession 不会返回到应用程序 Android

android - Xamarin Forms 使用 SwipView 从 ListView 中删除项目

android - Xamarin Studio 创建的磁盘上的 android 签名 key 在哪里?

android - 为什么android的值为:background still being used after a switch to a new theme