加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

使用curl of PHP登录Opencart的管理员

发布时间:2020-12-14 01:43:51 所属栏目:Linux 来源:网络整理
导读:我想自动使用curl登录OpenCart CMS并自动添加内容toobut我无法登录到它.我搜索并找到了一些结果但无法帮助我,我没有得到任何结果.这是我的代码: ?phpinclude_once "simple_html_dom.php";$username = 'active';$password = '123active';$loginUrl = 'http:/
我想自动使用curl登录OpenCart CMS并自动添加内容toobut我无法登录到它.我搜索并找到了一些结果但无法帮助我,我没有得到任何结果.这是我的代码:

<?php
include_once "simple_html_dom.php";
$username = 'active';
$password = '123active';
$loginUrl = 'http://localhost:100/mywebsite/admin/';

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$loginUrl);

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,'username='.$username.'&password='.$password);

curl_setopt($ch,CURLOPT_COOKIEJAR,'cookie.txt');

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

$store = curl_exec($ch);
$html=new simple_html_dom();
$html->load($store);
foreach($html->find("li#dashboard") as $dash){
    echo $dash->innertext;
}
?>

在这个代码中我首先初始化用户名和密码以及我链接到我的网站管理员的URL然后我使用CURLOPT_POST请求和CURLOPT_POSTFIELDS然后执行$ch但是现在我没有任何关于cookie.txt的结果而且没有登录网站的管理员.

解决方法

我看了 http://demo.opencart.com/admin/,看到表单中的动作网址不仅仅是/ admin.试试这个:

<?php
include_once "simple_html_dom.php";
$username = 'active';

$password = '123active';
//$loginUrl = 'http://localhost:100/mywebsite/admin/';
//new url
$loginUrl = 'http://localhost:100/mywebsite/admin/index.php?route=common/login';

$ch = curl_init();

curl_setopt($ch,true );

// follows a location header redirect
curl_setopt( $ch,CURLOPT_FOLLOWLOCATION,true );

curl_setopt($ch,1);

$store = curl_exec($ch);
$html=new simple_html_dom();
$html->load($store);
foreach($html->find("li#dashboard") as $dash){
    echo $dash->innertext;
}
?>

我没有测试动作网址是否依赖于特定版本,所以只需使用浏览器开发人员工具检查表单

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读