【问题标题】:Use $_GET, $_SERVER variables in Javascript (jQuery / AJAX)在 Javascript (jQuery / AJAX) 中使用 $_GET、$_SERVER 变量
【发布时间】:2011-11-19 03:56:58
【问题描述】:

所以,这是一个超级简单的 jQuery / AJAX 评论系统第一步。第二步是将数据插入数据库的PHP。我需要将页面的 $_GET['variable'] / $_SERVER['variable'] 存储到数据库中。我怎样才能在 jquery 中得到这些。我不能只在 PHP 中说$spot = $_GET['spot'] or $url = $_SERVER['FILE_SCRIPTNAME']。它不会捡起来的。我必须通过 jQuery/AJAX 发送。我该怎么做?

$(document).ready(function() {
        $('#submit_comment').click(function() {
            var comment = $('#place_comment').val();
            // Somewhere here set the $_GET['variable'];
            $.ajax({
                type: 'POST',
                url: 'http://localhost/app/comment/comment.func.php',
                data: 'comment='+comment,
                success: function(data) {
                    $('#replies').html(data);
                    }
                });
            });
        });

【问题讨论】:

  • 您可能已经知道这一点,但是将$_GET 变量或用户输入直接存储在数据库中是一种非常糟糕的安全做法。永远不要相信用户输入。你需要在存储之前对其进行转义,并在检索时将其转义,否则至少会有一些令人讨厌的 XXS 安全漏洞。 SQL 注入和更糟糕的事情也是一种危险。

标签: php javascript jquery


【解决方案1】:

如果我理解您正在尝试正确执行的操作,您可以尝试类似的方法在客户端 javascript 中使用服务器端 PHP 变量。

var comment = $('#place_comment').val();
var myVariable = '<?php echo $_GET['variable'] ?>';

【讨论】:

  • @Byran 在 jquery 中有没有可能?你使用了 php。
【解决方案2】:

您不能这样做:javascript 是 客户端 而 PHP $SERVER 数组是 服务器端

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多