“您没有访问此服务器上的/news.php的权限。”但只是有时

“您没有访问此服务器上的/news.php的权限。”但只是有时,php,forms,http-status-code-403,Php,Forms,Http Status Code 403,,但没有答案。我不确定这是什么协议 我在一个网站上工作纯粹是为了好玩和学习一些PHP。这包括一个发布新闻的表单。大多数情况下,它都能正常运行,但有时它却无法正常运行,我得到了403错误 You don't have permission to access /news.php on this server. 搜索这个场景会导致很多人谈论一种叫做mod_sec的东西,如果我的网络主机使用它,我不知道如何处理它 下面是所有涉及的代码,但由于它通常功能完美,因此可能没有帮助。有效的用户名和密码不包括

,但没有答案。我不确定这是什么协议

我在一个网站上工作纯粹是为了好玩和学习一些PHP。这包括一个发布新闻的表单。大多数情况下,它都能正常运行,但有时它却无法正常运行,我得到了403错误

You don't have permission to access /news.php on this server.
搜索这个场景会导致很多人谈论一种叫做mod_sec的东西,如果我的网络主机使用它,我不知道如何处理它

下面是所有涉及的代码,但由于它通常功能完美,因此可能没有帮助。有效的用户名和密码不包括函数更改的任何字符

编辑: 点击表单提交按钮时出错。经过意外调查,它甚至在到达数据库连接尝试之前发生,因此与PHP代码完全无关

所有包含的代码都位于同一个页面上,而不是原来的页面上,但我移动了它以消除该角度

这是在一个实际的网络主机上在线进行的,所以本地文件冲突和防病毒等不应受到指责

站点错误日志只是抱怨缺少403或404页面,访问日志只是说:

[24/Jan/2016:05:04:56 -0500] "POST /news.php HTTP/1.1" 404 - [URL] "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"
PHP:

HTML:

试错:

在表单操作字段中设置正确的完整页面URL。半途而废

显示.htaccess文件或类似权限设置中的任何详细信息。没有

您是否在文件空间中使用任何符号链接?没有

我在您的页面news.php中没有发现字符编码,因此建议您将字符编码添加到标题和表单中,并在标记中使用accept charset=utf-8

只是以防万一这是一个PHP解析错误添加一个PHP错误日志添加

ini设置“显示错误”,1; ini设置“显示启动错误”,1; 错误报告全部

到news.php页面的顶部

重新编码HTML。 我认为一个可能的原因是服务器被HTML页面的低质量搞糊涂了,所以这里有一个页面的修复,部分原因是我发现很难不修复这类事情!。请将其复制/粘贴为news.php的HTML,然后查看403错误发生的频率

值得注意的是,您没有404错误,404是由403查找要显示到浏览器的相应错误页面引起的,由于您没有错误,因此找不到404文件。404并不重要

升级到HTML5的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>News Page - Scissle</title>
<link href="sheet.css" rel="stylesheet" media="screen" type="text/css" /></head>
<body>
<div id="border">
</div>
<div id="content">
<center> <!-- Do not use <center> tags, use CSS-->
    <form enctype='multipart/form-data' method='post' action='http://scissle.com/news.php' name='newsform' accept-charset="utf-8">

    Username: <input type="text" name="un" size="12" value="" /><br>
    Password: <input type="password" name="pw" size="12" value="" /><br><br>

    Title: <input type="text" name="newsTitle" size="40" value="" /><br><br>

    Post:<br><textarea name="newsPost" cols="45" rows="5"></textarea><br><br>

    <input type='submit' value='Make News Post' name='postNews' />
</form>
<br>
<hr>
<table class="book"><tr class="heading"><td>Some points:

1) Encase CSS classes in quotes.
2) Remember to close html / body/head tags
3) Try to avoid blank spaces/ empty lines at the start or end of the HTML file.
4) remember to close your Form tags too.
</td></tr></table></center>
</div>
</body> 
</html>
这将为服务器提供一个确切的地址,而不是像您目前所拥有的那样简单的/地址


还增加了一个出口;头之后。

除了404请求之外,是否还会生成任何其他PHP错误或apache服务器错误?我假设您问题中的HTML和PHP代码都位于/news.PHP页面上?PHP底部的header命令不正确。您应该指定一个明确的文件,例如标题'Location:/index,php';或者更好,一个有效的URL。我假设您在本地主机上测试它,所以我认为它可能是打开文件问题、防病毒问题等。403错误发生在什么时候?当您以全新方式加载页面时,当您从网站的其他位置加载页面时,还是在您提交表单后?另外,如果10月份的问题有更具体的细节,你能把它链接起来吗?我还要检查一下Web服务器访问日志文件……我想我没有.htaccess文件,我自己没有设置,也找不到默认文件的证据。所有页面的权限都是0644我不完全确定你所说的符号链接是什么意思,所以我猜答案是否定的?@Scissle你是完全在PHP中管理权限,还是使用httpauth或类似的服务器级别的东西管理权限?我已经更新了我的子弹一点。我基本上不知道我在做什么,所以没有服务器级的东西。我已经添加了您建议的代码位,但我看不出它对任何事情都有影响。。不过,谢谢你迄今为止的帮助@Scissle我怀疑问题可能是服务器级别的问题,例如不太完美的托管计划,但是阅读您的网站并看到这里的评论,很值得一读关于如何设置PHP身份验证,以便将用户作为管理员登录到您的网站上。例如,不要将密码存储在cookies/会话中。很抱歉,我无法更清楚地看到这里发生了什么。@Scissle还使用HTML5模板,因为您当前的页面布局无效,它们可能是问题的原因。你的结构应该是,但是你有CSS样式表在两者之间,当它们应该在头部部分。等等,这将是一个良好的开端:-
<form enctype='multipart/form-data' method='post' action='' name='newsform'>

Username: <input type="text" name="un" size="12" value=""/><br>
Password: <input type="password" name="pw" size="12" value=""/><br><br>

Title: <input type="text" name="newsTitle" size="40" value=""/><br><br>

Post:<br><textarea name="newsPost" cols="45" rows="5"></textarea><br><br>

<input type='submit' value='Make News Post' name='postNews'/>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>News Page - Scissle</title>
<link href="sheet.css" rel="stylesheet" media="screen" type="text/css" /></head>
<body>
<div id="border">
</div>
<div id="content">
<center> <!-- Do not use <center> tags, use CSS-->
    <form enctype='multipart/form-data' method='post' action='http://scissle.com/news.php' name='newsform' accept-charset="utf-8">

    Username: <input type="text" name="un" size="12" value="" /><br>
    Password: <input type="password" name="pw" size="12" value="" /><br><br>

    Title: <input type="text" name="newsTitle" size="40" value="" /><br><br>

    Post:<br><textarea name="newsPost" cols="45" rows="5"></textarea><br><br>

    <input type='submit' value='Make News Post' name='postNews' />
</form>
<br>
<hr>
<table class="book"><tr class="heading"><td>Some points:

1) Encase CSS classes in quotes.
2) Remember to close html / body/head tags
3) Try to avoid blank spaces/ empty lines at the start or end of the HTML file.
4) remember to close your Form tags too.
</td></tr></table></center>
</div>
</body> 
</html>
    ...
    $mysql_admin->query($query);
    header("Location: http://scissle.com/index.php");
    exit;
    }