【问题标题】:Workaround possible for cURL and Javascript?cURL 和 Javascript 可能的解决方法?
【发布时间】:2012-04-03 20:45:19
【问题描述】:

一切都很顺利in my previous help request thread。我在正确的轨道上绕过 CSRF,但需要指向正确的方向。我得到了很大的帮助,甚至还有一个用于登录 Google 的 Android Market 的替代脚本。我的剧本和我为匹配我的表格而修改的剧本都在同一点被挂断。显然 cURL 无法处理 JS,有什么办法可以在不更改表单的情况下解决使用 submitForm() 提交的表单?

这是SubmitForm函数的代码

function submitForm(formObj, formMode) {
    if (!formObj)
        return false;
    if (formObj.tagName != "FORM") {
        if (!formObj.form)
            return false;
        formObj = formObj.form;
    }
    if (formObj.mode)
        formObj.mode.value = formMode;
    formObj.submit();
}

这是提交按钮的代码 -

<a class="VertMenuItems" href="javascript: document.authform.submit();">Submit</a>

Here is a link to my last question in case more background information is needed.

【问题讨论】:

  • 将数据从 javascript 提交到 PHP 就足够了吗?如果是这样,我可以提供一些伪代码来使用 Javascript 将信息传递给 PHP 服务。
  • @syn4k 感谢您回复我,我相信这可能有效,您能告诉我您将如何去做吗?

标签: php javascript security curl


【解决方案1】:

PHP 服务...

<?php
// PHP service file

// Get all data coming in via GET or POST
$vars = $_GET + $_POST;

// Do something with the data coming in
?>

其他地方的Javascript...

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        function sendData(data)
        {
            var response;
            $.ajax({
                url: 'phpservice.php',
                data: data,
                type: 'POST',
                dataType: 'json',
                async: false,
                success: function(response_from_service)
                {
                    response = response_from_service;
                },
                error: function()
                {
                }
            });
            return response;
        };
        function getData(data)
        {
            var response;
            $.ajax({
                url: 'phpservice.php',
                data: data,
                type: 'GET',
                dataType: 'json',
                async: false,
                success: function(response_from_service)
                {
                    response = response_from_service;
                },
                error: function()
                {
                }
            });
            return response;
        };
    });
</script>

【讨论】:

  • 太好了,非常感谢您的帮助。我唯一的问题是我把这个放在哪里?我会假设我正在使用登录的页面,但是是否可以简单地将其放在运行 cURL 的文件中?再次感谢您的帮助!
  • 不客气!您可以将 PHP 代码合并到您的 cURL 脚本中,因为它们都是 PHP,但我的建议是反对这一点。主要是为了避免混淆。我怀疑这真的是一个偏好问题。 javascript 应该进入表单存在的页面。我建议在该文档的头部创建一个新的 javascript 包含,这样您以后就不会一团糟。
  • 真棒合成。非常感谢您提供了巨大的帮助。我永远不可能写出你提供给我的脚本。
猜你喜欢
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
相关资源
最近更新 更多