在混合应用程序中,如何确认只有您的应用程序正在访问服务器端页面

2024-01-10

混合应用程序显然有点新,因此很难找到这方面的好信息。我知道我需要在服务器端页面上允许跨源资源共享,但这显然会增加安全缺陷。在phonegap/cordova应用程序上,我只有通过ajax调用服务器端页面的客户端控制。这意味着任何人都可以访问我的 php 页面。这意味着任何人都可以通过访问我的所有数据(例如帐户信息等)来模仿我的应用程序。我的问题是如何确认只有我的应用程序正在访问这些页面?请提供具体的编码示例。


我在这篇博文中回答了您的问题,以及许多其他人喜欢的问题:客户端的真实性不是服务器的问题 https://paragonie.com/blog/2016/03/client-authenticity-is-not-server-s-problem.

应用程序安全最基本的规则之一是输入验证。该规则之所以如此重要,是因为您的服务器只能控制(和可见性)在其自身上运行的软件。互联网上的所有其他设备都是一个黑匣子,您可以通过网络协议与之通信。您看不到它在做什么,只能看到它发送的消息。

...

服务器应该对客户端保持不可知。

客户端上的软件和服务器上的软件应该互相不信任。服务器收到的任何消息都应验证其正确性并小心处理。如果可以的话,数据永远不应该与代码混合。

...

结论是:不要试图控制用户,而应该专注于使他们的不当行为对服务器的稳定性和完整性无关紧要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在混合应用程序中,如何确认只有您的应用程序正在访问服务器端页面 的相关文章

  • PHP/PDO/MySQL:插入 MEDIUMBLOB 会存储错误数据

    我有一个简单的 PHP Web 应用程序 它通过文件上传接受图标图像并将它们存储在 MEDIUMBLOB 列中 在我的机器 Windows 和两台 Linux 服务器上 这工作得很好 在第三台 Linux 服务器上 插入的图像已损坏 在 S
  • 从 stdin 读取后,PHP 在每行上给出尾随“=”

    stdin 的内容因自动换行和尾随 而被损坏 这显然破坏了我需要发布的 URL 我需要从电子邮件中提取 URL 链接 然后发布该 URL 因此 我使用我在互联网上看到的标准代码片段将电子邮件传输到 cpanel 中的 php 脚本 fd f
  • PHP:__toString() 和 json_encode() 不能很好地协同工作

    我遇到了一个奇怪的问题 我不知道如何解决它 我有几个类 它们都是 JSON 对象的 PHP 实现 这是问题的说明 class A protected a public function construct this gt a array n
  • 对需要发送标头的项目进行单元测试

    我目前正在与 PHPUnit 合作 尝试在我正在编写的内容的同时开发测试 但是 我目前正在编写会话管理器 并且在这样做时遇到了问题 Session 处理类的构造函数是 private function construct if header
  • PDO 如何在执行 rollBack() 函数之前回滚查询?

    这是我的脚本 try dbh con gt beginTransaction stmt1 dbh conn gt prepare UPDATE activate account num SET num num 1 stmt1 gt exec
  • 通过日期选择器过滤查询后检索具有特定值的行数[重复]

    这个问题在这里已经有答案了 目前 我正在使用 CodeIgniter 来检索特定时间范围内的数据 所有这些条目都有一个状态 我想将具有相同状态的所有条目分组并将其显示在各自的标题中 目前 这是我的模型类 其中我有以下条目来返回特定日期范围内
  • 如何在xampp中启用curl

    我面临下面给出的错误 致命错误 在第 11 行调用 E xampp htdocs new functions php 中未定义的函数curl init 我已经做出了改变php ini 我把前面的分号去掉了 extension php cra
  • 加密成本高,解密成本低

    我希望该用户 攻击者加密数据并发送给服务器 现在我想要一种与标准算法完全相反的算法 使用快 难以解密 即很难使用服务器发送的密钥来加密密码等数据 以防止随机攻击 但很容易解密这样服务器在验证用户时消耗的时间非常少 但是对于攻击者来说 每次使
  • PHP 使用 use 关键字导入类

    到目前为止我还没有使用PHPuse词 但现在必须 索引 php内容 require once Classes MainClass php obj new Main echo obj gt test 类 MainClass php
  • 密码验证 PHP 正则表达式

    我是正则表达式的新手 我需要使用 php 验证密码 并使用正则表达式执行以下密码策略 密码 必须至少有 8 个字符 必须有2个号码 允许的符号有 我已经尝试过以下方法 d A Za z 0 9A Za z 以下完全符合您的要求 d d 0
  • PHP 静态变量用双引号引起来

    如何让 PHP 计算双引号中的静态变量 我想做这样的事情 log self CLASS METHOD entering 我尝试过各种 组合来获取变量值self CLASS 但没有任何效果 我目前已经解决了字符串连接问题 但输入起来很痛苦 l
  • 表单未使用 AJAX 提交

    再次更新 如果有人关心的话 我之前发布的解决方案由于某种原因停止工作 我在 ajax 请求中包含了 beforeSend 并将验证表单的 js 部分粘贴到其中 现在就像一个魅力 form on submit function e e pre
  • 如何理顺 Laravel Blade @extends 的执行顺序?

    In 我尝试找到一种通过引用刀片 include来传递变量的方法 https stackoverflow com questions 25437939 how to pass variables by reference to includ
  • 如何使用 wpf webbrowser 将数据发布到 Web 服务器

    我想从数据库获取数据并使用它来让用户登录到网站 我有一个包含 Web 浏览器控件的 wpf 页面 我有这样的代码 用于将用户登录到用 php 编写的网站
  • 如何在 PHP 中递归删除目录及其全部内容(文件+子目录)? [复制]

    这个问题在这里已经有答案了 如何在 PHP 中删除目录及其全部内容 文件和子目录 手册页中的用户贡献部分rmdir http www php net rmdir包含一个不错的实现 function rrmdir dir if is dir
  • 尝试使用curl进行GET,发送的值允许为空

    我正在尝试使用curl 来执行一个简单的GET 其中包含一个名为redirect uri 的参数 被调用的 php 文件打印出 GET redirect uri 的空字符串 它显示 red 并且似乎没有发送任何内容 执行获取操作的代码 Ge
  • CodeIgniter:使用多维 POST 数据验证表单

    所以框架是CodeIgniter 2 0 2 我有一个表单 其中包含与数据库中的行相对应的字段组 字段名称的格式为 opt 0 foo opt 0 bar opt 1 foo opt 1 bar etc 索引 1 2等 并不对应于数据库中的
  • /bootstrap/start.php 中的 Laravel 错误:\Illuminate\Foundation\Application 未找到

    因此 我在开发服务器上安装了 Laravel php5 5 3 标准安装 安装了 mcrypt 并收到以下错误消息 Fatal error Class Illuminate Foundation Application not found
  • 在 Laravel 视图中使用 CSS?

    我刚刚开始学习 Laravel 并且可以掌握控制器和路由的基础知识 我的操作系统是 Mac OS X Lion 它位于 MAMP 服务器上 我的routes php代码 Route get function return View make
  • 使用 php 变量更改 css 类

    这里需要您的帮助 正如标题所示 我正在尝试使用 PHP 变量更改 css 类 所以基本上我想创建一个回显某些代码的循环 但我希望第一个循环中的 div 类有所不同 它应该被隐藏 这是我为使问题变得清晰而编写的简化代码 我不知道错误在哪里 请

随机推荐

  • Google App Engine 上的 CloudSQL PDO(unix_socket) 问题

    我正在尝试从 App Engine 连接到我的 CloudSQL 实例 我的设置方法是使用静态 IP 我可以使用它从 App Engine 外部 即在我的开发环境中 连接到它 但是 当应用程序在 GAE 中运行时 连接到数据库的唯一方法是使
  • 如何在 Matplotlib 中使用带有形状内文本的自定义标记?

    背景 在 Matplotlib 中 我们可以使用 mathtext 作为标记来渲染字符串 参考文献1 https matplotlib org 3 2 1 api markers api html Question 有什么方法可以将此文本封
  • UP3(jawbone)如何实时检索睡眠值

    我正在尝试实时检索我的睡眠数据 我无法从文档中找到如何实现它 UP平台Android SDK https github com Jawbone UPPlatform Android SDK 附 我愿意进行睡眠实验 需要在我到达时获取一个事件
  • Java EE / J2EE 与 J2SE / JDK 版本之间的关联

    我确信我会找到重复的问题或令人满意的答案 但我没有 我正在寻找的是这些问题的答案 Java EE J2EE 和 J2SE JDK 版本之间是否有官方关联 如果答案是肯定的 那么它写在哪里 如果答案是否定的 那为什么呢 是否有非官方版本表 例
  • Javascript原生排序方法代码

    知道如何查看本机 javascript 方法的实现 特别是排序 方法 我之所以寻找这个 我只是想知道所使用的算法是什么以及其复杂性是什么 我正在 javascript 中对一个巨大的 json 对象进行排序 我想知道我是否应该为此编写自己的
  • 有没有办法让 JSF 与通用 setter 和 getter 一起使用

    有没有办法让 JSF 与通用实体一起工作 如下所述 属性 java public interface MyProperty
  • 如何将我的所有函数打包在批处理文件中作为单独的文件?

    我的问题与this https stackoverflow com questions 10149194 something like a function method in batch files问题 我有几个需要从批处理文件执行的操作
  • 如何转换pandas中日期时间列的时区,然后删除时区?

    我有一个列 非索引列 其中包含日期时间 例如 前五个条目如下所示 Timestamp 2018 11 15 19 57 55 Timestamp 2018 11 15 19 59 46 Timestamp 2018 11 15 20 00
  • 如何将(声明)安全令牌传递给启用 WIF 的 WCF 服务

    我很想知道我们如何从已通过 WIF 启用的 WCF 服务身份验证的 WIF 应用程序发送安全令牌 任何帮助将不胜感激 答案并不简单 但以下步骤构成了 推荐模式 并记录在以下 MSDN 文章中 AD FS 2 0 身份委派分步指南 http
  • x86_64 调用约定和堆栈帧

    我试图理解 GCC 4 4 3 为 Ubuntu Linux 下运行的 x86 64 机器生成的可执行代码 特别是 我不明白代码如何跟踪堆栈帧 过去 在 32 位代码中 我习惯于在几乎每个函数中看到这个 序言 push ebp movl e
  • 从内部存储中删除文件

    我正在尝试删除存储在内部存储中的图像 到目前为止我已经想出了这个 File dir getFilesDir File file new File dir id jpg boolean deleted file delete 这是来自另一个问
  • 上限集合性能问题

    我正在做一些测试 看看我可以从 Mongodb 获得什么样的吞吐量 文档说上限集合是最快的选择 但我经常发现我可以更快地写入普通集合 根据具体的测试 我通常可以通过正常收集获得两倍的吞吐量 我错过了什么吗 我该如何解决这个问题 我有一个非常
  • 检索超过 7 天的特定用户的推文

    我正在尝试获取任何用户的推文 但它只返回最近 7 天的推文 我想检索比这更旧的推文 如何做 现在我正在通过以下方式获取推文 http search twitter com search atom q from 3Amihirpmehta h
  • bash:Python 导入 - 找不到 pandas 命令

    我是使用 MacBook 的 Python 初学者 我想进口pandas在我的 Python 脚本中 我输入以下命令 import pandas as pd 结果是 错误 bash 导入 找不到命令 问题 如何启用导入命令 我用了 usr
  • @Qualifier 的问题

    我正在 Java Spring 环境中工作 并且在让 Qualifier 工作时遇到问题 我们项目的其他部分正在使用 Inject 来获取一个 bean 但我需要有同一个 bean 的两个版本 看起来使用 Autowired 和 Quali
  • 如何使用 Java 解析此 XML?

  • Telnet smtp.mail - 必须首先发出 STARTTLS 命令

    在我的 Mac 终端上 我试图telnet进入我的smtp gmail com通过port 587 在 Google Apps 设置为管理 Dreamhost 域 上 我配置了中继 如下所示 Allowed senders Only add
  • bash:提取路径名的最后两个目录

    我似乎在 bash 中失败了一些非常简单的事情 我有一个字符串变量 它保存目录的完整路径 我想分配最后一个two将其中的目录转换为另一个字符串 例如 如果我有 DIRNAME a b c d e 我想要 DIRNAME2 d e 我确信有一
  • 如何将带有 null 终止字符的字节数组转换为 Java 中的字符串?

    如何从字节数组创建 String 对象 byte arr MAX SIZE Java 其中数组元素之一是 C 空终止字节 是不是像打电话那么简单 String str new String arr String 构造函数是否知道自动停止在空
  • 在混合应用程序中,如何确认只有您的应用程序正在访问服务器端页面

    混合应用程序显然有点新 因此很难找到这方面的好信息 我知道我需要在服务器端页面上允许跨源资源共享 但这显然会增加安全缺陷 在phonegap cordova应用程序上 我只有通过ajax调用服务器端页面的客户端控制 这意味着任何人都可以访问