javascript - 远程 javascript-ajax-php 攻击

标签 javascript php jquery ajax

Javascript是一种客户端语言,因此可以读取和复制脚本。

现在考虑这个例子。

<html>
<head>
<title>title</title>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
</head>
<body>
    <script type="text/javascript">
    $(document).ready(function () {
        $('#user').blur(function () {
            var dataString = 'user=' + user;
            $.ajax({
                type: "POST",
                url: "insertUser.php",
                data: dataString
            }
        }
    }
    </script>
    <label for='user' >User:</label>
    <input id="user"  type="text" />
</body>

insertUser.php:

<?php
$user = filter_input(INPUT_POST, 'user');
if (isset($user)) {
    require_once("class.Database.php");
    $db = Database::getInstance();
    $mysqli = $db->getConnection();
    $stmt = $mysqli->prepare("INSERT INTO Users (User) VALUES (?)");
    $stmt->bind_param("s", $user);
    $stmt->execute();
}

有人可以在他的本地主机中编写一个脚本,用于使用 insertUser.php 的路径插入他自己的数据吗?无论如何要解决这个问题吗?

最佳答案

是的,任何人都可以将任何数据发送到您的 insertUser.php

关于保护,这取决于用例。检查谁在发送数据,授权任何应该授权的请求等。

最佳实践是对待来自外部的任何数据(无论它们来自哪里),就好像它们是最危险和恶意的一样。

关于javascript - 远程 javascript-ajax-php 攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29143155/

相关文章:

javascript - JQuery fadeTo() 函数不能在两个元素上正常工作

javascript - Angular2 : Directive loads, 但什么也不做

php - wp-admin 显示空白页面,如何解决?

c# - 使用文件上传 AJAX 发送帖子数据

jquery - 使用 jQuery 循环在 html 表中显示工作日

javascript - 如何向 Material-UI 的 AppBar 组件添加多个元素?

javascript - Modernizr 未定义

php - zend Framework 2 从插件查询

php - 使用 Xampp (MacOs) 安装 php intl 的问题

javascript - 仅选择当前正在使用 jquery 悬停的元素并切换下一个元素的可见性?