【发布时间】:2016-01-23 14:29:51
【问题描述】:
我想编写脚本来在 OwnCloud 中创建新用户。 我试试这个:
$url = "http://admin:password@example.com/ocs/v1.php/cloud/users/";
$owncloud_postdata = array(
'userid' => "testname",
'password' => "testpassword,
);
$owncloud_postdataurl = http_build_query($owncloud_postdata);
$init = curl_init();
curl_setopt( $init, CURLOPT_URL, $url );
curl_setopt( $init, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt( $init, CURLOPT_POST, TRUE );
curl_setopt( $init, CURLOPT_POSTFIELDS, $owncloud_postdataurl );
$owncloud_odpoved = curl_exec( $init );
curl_close($init);
我明白了:
<?xml version="1.0"?>
<ocs>
<meta>
<status>failure</status>
<statuscode>999</statuscode>
<message>Invalid query, please check the syntax. API specifications are here: http://www.freedesktop.org/wiki/Specifications/open-collaboration-services. DEBUG OUTPUT:
</message>
</meta>
<data/>
</ocs>
这有什么问题?我使用 PHP 5.5,我只需要使用 PHP,而不是 JS 或其他...我看不出有什么问题...谢谢
【问题讨论】:
-
1.您真的将用户名和密码作为 url 的一部分传递吗?每个听你谈话的人都可以直接阅读用户和密码信息... 2. 你是否点击了回复中的链接?
-
1.我如何以其他方式传递用户/密码? 2.我不明白这个问题
-
将用户/密码作为 URL 的一部分传递通常是一种非常不安全的方式。如果有任何其他方式,请查阅您的 API 文档(尤其是当您将用户名和密码作为 POST 数据的一部分传递时)。我指的链接是freedesktop.org/wiki/Specifications/open-collaboration-services。还有一点,只要使用
http而不是https,传递POST 数据仍然不安全 -
API 有一个文档:doc.owncloud.org/server/8.0/admin_manual/configuration_user/… 是的,我关注了它,但我在链接上没有得到任何帮助