【问题标题】:Webbot Auto-Submit form via php cURLWebbot 通过 php cURL 自动提交表单
【发布时间】:2012-12-16 11:08:45
【问题描述】:

我只是想通过 php 和 cURL 自动登录到登录表单

我有:

<?php
# get url to form
$url = "http://thesite.com/login.php";
$ch = curl_init($url); # initialize that form

#run value of $_POST variable in form fields from above url.
$params = "username='' OR '1'='1&password='' OR '1'='1&login-php-submit-button=submit";

## set cURL options
curl_setopt($ch, CURLOPT_POST, 1);  
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);  #set parameter $_POST fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch);

    if (!$response) {
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch); // make sure we closeany current curl sessions
        die(stripslashes($http_code.' Can\'t connect to server.'));
    }

//curl_close($ch); // close curl session 


## echo the result from cURL 'ing
echo $response;

curl_close($ch);
?>

当我访问这个脚本时,它只显示$url 的值,就像我刚刚访问了 URL 一样,它没有显示任何错误消息,例如“Wrong pass”或任何内容。

我觉得$params 可能在这里设置不正确。我一直在不懈地尝试让它发挥作用。我目前有它的设置,$params 值的设置是:

formnameofinputvalue=valueToInputIntoFormElement&

其中 & 分隔每个 formInputName=formInputValue

有人看到我在这里做错了吗?谢谢。

【问题讨论】:

    标签: php curl web-crawler bots


    【解决方案1】:

    login.php 脚本是否将值提交到另一个 URL?检查 login.php 页面的源并查看表单是否正在提交到另一个 URL(表单元素中的 action=)。如果是这样,您将希望使用该 URL,因为这是提交值的位置。 login.php 只是收集值的表单。

    另一方面,login.php 可能会提交给自己,在这种情况下,您的 URL 是正确的。

    【讨论】:

    • 事实上它有:
      。我的 $url 变量应该是什么?
    • 看到这里的 $params 变量有什么问题吗?据我所知,$url 看起来不错。
    猜你喜欢
    • 2011-02-05
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2012-06-19
    • 2014-08-23
    • 1970-01-01
    相关资源
    最近更新 更多