我遇到了问题,我正在构建一个允许用户更改通常只能在管理面板中更改的数据的应用程序。我的应用程序会筛选出所有易受攻击但是,当我更改应用程序中的数据时,还必须在原始管理面板中更新它。为此,我必须将xml文件上传到管理面板。目前这是手动的,但它必须是自动化的。但是我必须通过管理面板上传它,否则数据将不会在此面板中更新。用file_put_contents
直接更新它并不会令人遗憾。
这段代码位于mydomain.com/system_backup.php
。这是在管理面板中,它要求您使用用户名登录并通过才能使用它。
//The html on this page. system_backup.php
<form action="system_backup.php" method="post" enctype="multipart/form-data">
//Downloads the current xml-file from the server
<input name="Download" type="submit" class="formbtn" id="download" value="Download configuration">
//select the xml file from your local system.
<input name="conffile" type="file" class="formfld" id="conffile" size="40">
//restore/update the xml-file.
<input name="Restore" type="submit" class="formbtn" id="restore" value="Restore configuration">
</form>
这看起来像这样
当您在浏览器中打开页面时,将使用javascript / jquery给出以下登录提示
那么有没有办法用php创建一个自动脚本,它将使用此管理面板登录并更新此文件?如果使用php无法实现,那么它是否可能使用其他语言?每天晚上我都要做一个cron-job。
答案 0 :(得分:0)
这是可能的,也很容易。您只需要弄清楚您的Web服务器用于对用户进行身份验证的方法,并在标头(或cookie)中发送适当的数据。
例如,如果您的服务器使用的是Basic access authentication(可能确实如此),则必须在请求中添加标头,如下所示:
Authorization: Basic xxxxxxxxxxxxx
其中xxxxxxxxxxxxx是字符串的Base64:username:password
。