Bonjour,

Tout d'abord, je tiens à préciser que je ne suis pas un expert dans le domaine du Dev Web.
Je suis actuellement en train de développer un petit site pour tester pas mal de choses, il est hébergé sur un serveur mutualisé, un hébergeur gratuit, je n'ai donc pas vraiment d'accès aux configuration du serveur en lui même.

Je tente de faire un chat en PHP avec une gestion du refresh des messages en AJAX.

Malheureusement, quelles que soient les requêtes AJAX que je tente d'effectuer, je recois à chaque fois une erreur 403 Forbidden.

côté JS :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
function sendChatText(){
  var chatInput = $('#chat-message').val();
  var userId = $('#chat-uid').val();
  var chatId = $('#chat-id').val();
  if(chatInput != ""){
    $.ajax({
      type: "GET",
      url: "./chat_submit.php?chattext=" + encodeURIComponent(chatInput) + "&chatId=" + chatId + "&userId=" + userId,
    });
  }
}
mon fichier chat_submit.php :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
require_once( "./chat_model.php" );
$chattext = htmlspecialchars($_GET['chattext']);
$userId = intval($_GET['userId']);
$chatId = intval($_GET['chatId']);
chatClass::setChatLines( $chattext, $userId, $chatId);

et la fonction setChatLines() de ma classe chatClass

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public static function setChatLines( $message, $user_id, $chatid) {
      $db_connection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
      $db_connection->query( "SET NAMES 'UTF8'" );
      $statement = $db_connection->prepare( "INSERT INTO chat_message (chat_id, user_id, message) VALUES (?, ?, ?)");
      $statement->bind_param($chatid, $user_id, $message);
      $statement->execute();
      $statement->close();
      $db_connection->close();
    }

quand à la requête voici ce que le developper tools m'indique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
General:
Request URL:http://nironi.hebergratuit.net/nawel/php/chat_submit.php?chattext=test&chatId=1&userId=2
Request Method:GET
Status Code:403 Forbidden
Remote Address:XXX.XXX.XXX.XXX:80
 
Response Headers
Cache-Control:max-age=5
Connection:keep-alive
Content-Length:18
Content-Type:text/html
Date:Tue, 15 Nov 2016 22:33:17 GMT
Server:nginx
 
Request Headers
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Cookie:__test=d09b85a191dd0dce268fd22aed8de4d5; PHPSESSID=ec44250aed1a282207c3f16c28c887f0
Host:[HOSTNAME]
Referer:http://[HOSTNAME]/nawel/php/home.php
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
X-Requested-With:XMLHttpRequest
 
Query String Parameters
chattext:test
chatId:1
userId:2
J'ai tenté de modifié les permissions pour mon fichier chat_submit.php en 755, mais cela ne change rien.

Est-ce que ce problème est du au serveur lui-même ? ou bien est-ce une erreur dans mon code ?
Je cherche une solution depuis un bon moment en me tirant les cheveux, j'ai ratissé pas mal de sites web mais en vain.

D'avance merci si quelqu'un peut me trouver une piste.