You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Volley连接Hostinger远程数据库遇AuthFailureError求助

解决Android Volley连接Hostinger数据库403 AuthFailureError问题

关键排查与修复步骤

1. 修正PHP文件的访问URL

Hostinger的public_html是网站根目录,对外访问时不需要在URL中包含public_html。正确的URL格式应为https://你的域名/databaseconnect.php,比如你的域名是example.com,则直接用https://example.com/databaseconnect.php——带public_html的路径是服务器内部目录结构,对外访问会被判定为无效路径,触发403拦截。

2. 检查文件与目录权限

  • 确保public_html目录权限设为755,databaseconnect.php文件权限设为644。权限过高或过低都会被服务器拦截,导致403。
  • 在Hostinger文件管理器中右键目标文件/目录,选择「更改权限」即可调整。

3. 先验证PHP文件的可用性

  • 直接在浏览器中访问修正后的PHP URL,测试是否能正常返回内容(可以先在PHP文件开头加echo "test";快速验证)。如果浏览器访问也出403,说明问题在服务器配置/文件权限,和Android代码无关。
  • 若浏览器访问正常,再确认PHP的请求处理逻辑和Volley请求匹配:比如PHP处理POST请求,Volley就要用Method.POST,且参数传递正确。

4. 关闭Hostinger的安全拦截机制

Hostinger默认开启的ModSecurity或Hotlink Protection可能会拦截非浏览器发起的请求(比如Volley的HTTP请求):

  • 登录Hostinger cPanel,找到「ModSecurity」选项,临时关闭后测试。
  • 或在「Hotlink Protection」中添加APP请求来源,暂时关闭该功能排查。

5. 给Volley请求添加合法Header

部分服务器会验证User-Agent字段,可在Volley的StringRequest中重写getHeaders()方法,添加浏览器风格的User-Agent:

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
    Map<String, String> headers = new HashMap<>();
    headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36");
    return headers;
}

6. 确认PHP数据库连接代码正确性

  • 确保PHP中使用的数据库主机地址(通常是localhost或Hostinger提供的专属地址)、用户名、密码、数据库名无拼写错误。
  • 可在PHP文件开头添加错误捕获代码,排查连接问题:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// 你的数据库连接与插入代码
?>

访问PHP文件查看是否有数据库连接报错——若为数据库问题,会返回具体错误信息,而非403。

验证流程

  1. 浏览器访问修正后的PHP URL,确认无403。
  2. 用HTML表单提交数据到PHP文件,验证插入逻辑是否正常。
  3. 调整Volley请求参数、Header后重新测试。

内容的提问来源于stack exchange,提问作者SCT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:11:11