Ajax 请求并非向所有人开放

2023-12-11

我使用 CodeIgniter 创建了一个网络应用程序。我在应用程序中有几个地方使用了ajax。

我想知道是否有一种方法可以停止对 ajax 控制器的直接访问和查询,而只允许处理源自页面的合法 ajax 请求。

Thanks.


是的,您可以毫无问题地执行此操作。 CodeIgniter 输入类有一个名为 is_ajax_request() 的方法。只需在控制器操作开始时检查这一点即可。例如:

function ajax_save() {
    if ($this->input->is_ajax_request()) {
        //continue on as per usual
    } else {
        show_error("No direct access allowed");
        //or redirect to wherever you would like
    }
}

如果您有完全为 ajax 调用指定的控制器,则可以将该 if 语句放入构造函数中function __construct()对于控制器。记住先调用parent::constructor()!

编辑:至于“源自页面”,您可能应该对 ajax 请求进行身份验证+安全检查(可能通过会话,这样您就不会访问数据库)。因此,不隶属于您的 web 应用程序的恶意用户无论如何都不应该能够手动发送 ajax 请求。希望这能回答您的问题。

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

Ajax 请求并非向所有人开放 的相关文章

  • PHP、jQuery 和 Ajax 调用乱序

    我正在使用 jQuery 进行 Ajax 调用 我有 x 数量的 Ajax 调用附加到 div 这些 Ajax 加载请求是由 PHP foreach 循环生成的 问题是它们渲染的顺序不正确 它们被设置在数组中
  • Java Web 技术中的 AJAX 自动完成文本框(JSP 和 servlet)

    我需要您的帮助 了解如何使用 Java Web 技术 JSP Servlet 和 AJAX 使 HTML 输入文本元素像 Google 的 AJAX 搜索引擎 输入文本元素一样工作 下拉列表中的数据将来自数据库表 例如分别是 MySQL 或
  • wordpress - 像 stackoverflow 中那样内嵌 ajax 注释

    我有一个 WordPress 博客 希望为人们提供与 stackoverflow 中添加评论相同的用户体验 有很多评论 ajax 插件 但我找不到一个可以使用的插件 它允许您在主页上内联 进入并添加评论 而无需先深入到单独的单个帖子页面 任
  • 将查询字符串添加到 Ajax url 调用

    我想知道当我们调用 Jquery Ajax 时是否可以将查询字符串与 URL 一起传递 例子 ajax type POST url index php task addNewInfo data regForm serialize dataT
  • 我如何使用 querySelector() 选择具有双类的元素

    当我想使用 querySelector 选择元素时遇到问题 ul class xoxo blogroll ul 我怎样才能选择它ul元素 在我的代码中我像这样使用 var list document body querySelector u
  • 发送 POST 请求时 JSON 原语无效

    我有以下 ajax 请求 其中我尝试将 JSON 对象发送到服务器 function sendData subscriptionJson ajax type POST url Url Action SubscribeSecurities S
  • 如何取消 AjaxForm 上的提交

    我正在使用 jQuery 插件 ajax 形式 我尝试实现这样的东西 MyFormID ajaxForm dataType json resetForm true beforeSubmit function validateData ret
  • 如何处理 ASP.net MVC Ajax 加载页面上的 jQuery 事件?

    我有一个问题 我是 jQuery Mobile 领域的新手 对于 ASP Net MVC 部分我有点迷失 这是我的问题 在我的移动网站中 我想更改导航栏 我使用的更像是应用程序栏 按钮 而我位于编辑页面或主页等 因此 这些页面 编辑 显示
  • 如何在Jquery-Select2中设置多值选择中的选定值?

    我正在绑定我的下拉菜单Jquery Select2 它工作正常 但现在我需要绑定我的多值selectBox通过使用Jquery Select2 我的下拉菜单 div class divright div
  • 在 ajax 完成之前阻止提交

    我正在使用 jQuery 并且我希望在所有 ajax 调用完成之前表单提交不会起作用 我想到的一种方法是存储一个布尔值 该值指示是否有 ajax 请求正在进行 在每一个结束时它都会被设置为 false 我不确定这是否是最好的方法 所以我将不
  • Yii2:对 ajax 提交的表单进行 ajax 表单验证

    我想知道是否有 Yii2 专家可以帮助我了解如何最好地结合使用 ajax 表单和 Yii ajax 验证 我想我可以解释这个问题 而无需向您介绍我的所有代码 我正在制作一个促销代码输入表单 用户在表单中输入促销代码 该表单通过 ajax 提
  • 是否可以禁用特定 jQuery Ajax 调用的 Turbolinks 以防止页面刷新和滚动?

    我有一个 Rails 5 应用程序 非常想使用 Turbolinks 在应用程序中 有几个 PATCH ajax 调用 它们只是用新数据更新服务器 但不需要担心更新页面的状态 每当这些 ajax 请求返回时 Turbolinks 就会刷新页
  • AJAX 是如何工作的?

    AJAX的本质是什么 例如 我想在我的页面上有一个链接 这样当用户单击此链接时 一些信息就会发送到我的服务器 而无需重新加载当前页面 那是阿贾克斯吗 我能够通过使用 isoframe 来实现这种行为 更详细地说 我在一个小 isoframe
  • Spring Security 的 AJAX 请求给出 403 Forbidden

    我有一个基于spring boot spring security thymeleaf的网站 在某些情况下我也使用ajax 问题 我在 Spring Security 中使用表单登录安全性 在浏览器中 登录后我可以使用rest API GE
  • 可以通过 url 发送 JSON 吗?

    我有一个 ruby 哈希 其中键是 url 值是整数 我将哈希值转换为 JSON 我想知道是否能够通过 AJAX 请求在 url 内发送 JSON 然后从 params 哈希值中提取该 JSON 另外 我将把 JSON 化的 ruby 哈希
  • 来自 ajax 的 Bootstrap 表 json

    我有 ajax 和 bootstrap 表的问题 我有一个 ajax JSON 我用这个方法调用 document ready function ajax url php process php method fetchdata dataT
  • JQuery $.ajax() 在 java servlet 中发布数据

    我想将数据发送到 java servlet 进行处理 数据将具有可变长度并采用键 值对 A1984 1 A9873 5 A1674 2 A8724 1 A3574 3 A1165 5 数据不需要这样格式化 这就是我现在的方式 var sav
  • 日历中 primefaces ajax 上的事件日期选择不起作用

    我有一个日历
  • 如何在返回的 AJAX 调用上使用 django 模板标签?

    我有一个简单的 AJAX 脚本 它在名为的搜索字段中获取输入的字符串AJAXBox并调用一个视图函数 该函数使用过滤器查询数据库并返回与输入参数匹配的所有 User 对象的查询集 当我使用 django 模板标签迭代查询集时 它不起作用 我
  • 如何使用 Ajax 在 Flask 中发布按钮值而不刷新页面?

    我有一个问题 当我单击 Flask 应用程序中的按钮时 我想避免重新加载 我知道有 Ajax 解决方案 但我想知道如何将我的按钮链接到 ajax 函数以发布按钮值并运行链接到其值的 python 函数 这是我的 html 按钮 div di

随机推荐

  • 如何在Django html页面中显示外键数据?

    我想从相关的外键模型中获取数据 但我无法从相关的模型中获取数据 请告诉我该怎么做 我要显示name价值来自Model2 table 这是我的models py file class Customer models Model cus nam
  • android快速获取所有用户的朋友个人资料图片

    我正在寻找一种快速获取我所有朋友的个人资料照片的方法 我正在使用适用于 Android 的 Facebook SDK 现在我正在获取我朋友的列表 JSON 对象并在该对象内使用 for 循环运行 在循环中 我将每个图像放入 Drawable
  • MVC 6 绑定属性消失了?

    请原谅我的菜鸟问题 但我注意到 MVC 6 的绑定属性不再作为默认值出现在控制器模板中 我知道该属性仍然存在 但我们仍然需要使用它们吗 我听说它们可以用来防止过度发布攻击 他们是否会删除它 因为 MVC 6 可以找到在不使用它们的情况下防止
  • 线程“main”中的异常 java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException

    我正在使用 Twilio 从我的网络应用程序发送 SMS 消息 我几乎已经完成了集成 它正在发送短信 但生成了错误 我不明白为什么 我已经包含了一个 JSON 依赖项json和这个文件link但我仍然收到错误 我还需要包含哪些其他罐子 Ex
  • 使用 qmake 获取日期

    由于我使用今天的日期作为我的应用程序版本 因此我有兴趣自动填充它 目前我正在我的项目文件中执行以下操作 VERSION 15 4 20 但我想让它自动进行 VERSION YEAR MONTH DAY 任何想法 您可以使用QMAKE POS
  • 抛出异常的哪一部分成本很高?

    在 Java 中 当实际上没有错误时 使用 throw catch 作为逻辑的一部分通常是一个坏主意 部分 因为抛出和捕获异常的成本很高 并且在循环中多次执行通常比其他方法慢得多不涉及抛出异常的控制结构 我的问题是 成本是在 throw c
  • 为什么使用“new NetworkCredential(用户名、密码)”无法对我的网站进行基本身份验证(从 WinForms C# 应用程序)?

    我有一个使用基本身份验证 用户名 密码 的网站 为什么下面的代码不起作用 当我运行它时 Web 应用程序会将我带到登录控制器 而我希望在我填充凭据的情况下它应该已经经过身份验证 换句话说 我试图确认在 NET 中如何确认我的winforms
  • JMeter。如何确定线程组何时完成

    我需要运行两个单独的线程组 第二组有无限循环计数 当第一组完成后 停止第二组 我如何确定第一组何时完成 这对我来说是工作 克里特岛 BeanShell 预处理器 代码如下 props put DONE FALSE 使用以下代码创建 Bean
  • .dll 已加载到另一个类加载器中?

    我有一个在 Tomcat 3 2 1 下运行的 web 应用程序 需要进行 JNI 调用 为了访问遗留 C 代码中的数据和方法 servlet 已加载 在 webapp 的启动 作为其一部分init方法 产生一个数据集 特定于要加载到 C
  • Python 中的日期时间解析时区不一致

    当我在 Python 3 X 中运行以下命令时 import datetime DATE TS FORMAT Y m d H M S f Z date ts datetime datetime 2019 1 2 3 4 5 tzinfo d
  • Python timedelta 负值问题

    您好 我需要一些帮助来理解为什么会发生这种情况 我有一种方法可以跟踪事件程序中的 剩余时间 def get program time budget self return self estimated duration self get p
  • 多处理在 Ubuntu 中有效,但在 Windows 中无效

    我正在尝试使用这个例子作为我的cherrypy应用程序上的排队系统的模板 我能够将它从 python 2 转换为 python 3 更改from Queue import Empty into from queue import Empty
  • 无法使用 SPARQL 从 LinkedMDB 检索高 ID 的电影

    我正在运行以下查询LinkedMDB SPARQL 端点它有效 有了它 我可以获得有关 id 72 的电影导演的所有信息 即Titanic 所以我得到了关于詹姆斯 卡梅隆的信息 PREFIX mdb
  • Laravel 5 中间件“所有者”?

    我在创建 所有者 中间件时遇到麻烦 例如 我有一个Articles and User模型关联于user id key 我想将 所有者 中间件添加到ArticlesController 因此该文章的唯一所有者可以编辑 更新和删除它 我已经搜索
  • 我可以使用设备的相机在 Unity 中拍照吗?

    我完全不熟悉 Unity3D 更复杂的功能集 并且很好奇它是否有能力拍摄照片然后对其进行操作 具体来说 我的愿望是让用户拍一张自拍照 然后让他们在脸部周围描画以创建一个 PNG 然后将其纹理映射到模型上 我知道将面部映射到模型上很简单 但我
  • 在 didFinishLaunchingWithOptions 结束之前是否曾调用过 applicationWillResignActive ?

    某个场景会发生在哪里吗 applicationWillResignActive 之前会被调用application didFinishLaunchingWithOptions ends 基本上 我可以指望application didFin
  • TryParse SSIS 忽略源行

    我有一个序列化代码 在该代码中存在一些数值 这些数值在解析时表示日期 For example 011756420176654 Note array index may be off Substring 1 2 01 Substring 3
  • 使用工作表 CodeName 并避免 .Select 和 .Activate

    在我的工作簿中 我经常需要使用它们来激活一些工作表CodeName then 搜索一些文本在那张纸上和使用单元格的行号或列号其中包含我正在寻找的文本 在这种情况下 我使用以下代码 Sheet16 Select Using codename
  • 为什么改变颜色或粗体的一个单元格的一部分不再起作用?

    In Excel 可以更改部分单元格的字体颜色 我已经尝试过下面的代码 更新后无法使用Excel 365对于价值 不是公式 Set ce cells 5 3 ce Characters 1 5 Font Color vbBlue 它应该更改
  • Ajax 请求并非向所有人开放

    我使用 CodeIgniter 创建了一个网络应用程序 我在应用程序中有几个地方使用了ajax 我想知道是否有一种方法可以停止对 ajax 控制器的直接访问和查询 而只允许处理源自页面的合法 ajax 请求 Thanks 是的 您可以毫无问