2017-10-17 10 views
0

データベースエントリを循環してテンプレートを埋め込むコードがありますが、5〜6時間後にループが停止し、403エラーがスローされます。ここ は、私がデータをプル使用しているコードです:PHPループ内でランダムに403エラーが発生する

if(isset($_GET['pageid'])){ 
    $page_id = $_GET['pageid']; 
}else{ 
    $page_id = 0; 
} 
$mysqli = mysqli_connect('localhost', 'readonlyuser', 'password'); 
$query_pageid = "SELECT PAGE_ID FROM database.GENERAL WHERE PAGE_ID > ".$page_id." AND ACTIVE LIMIT 1;"; 
$query_results = mysqli_query($mysqli, $query_pageid); 
if(mysqli_num_rows($query_results) != 0){ 
    $query_fields = mysqli_fetch_array($query_results, MYSQLI_ASSOC); 
    $page_id = $query_fields['PAGE_ID']; 
}else{ 
    header("refresh:0;url=http://10.10.10.10/address/index.php"); 
    exit(); 
} 

はこのようなものに遭遇偶然あなたのいずれかをお持ちですか?

+0

メモリ、ディスク領域、または何らかの時間制限が不足している可能性があります。エラーログなどの詳細情報が必要になります。 – Adam

+0

そのアプリケーションに関連するエラーログには1つのことはありません。 –

答えて

0

403エラーの意味は、サーバーに到達したがそれ以上のアクションを実行することを拒否することを示します。ループを5〜6時間実行すると、多くのデータが保存され、メモリが不足する可能性があります。

これを解決できる方法の1つは、APIを使用することです。私は、Webサーバーのログをお調べください

+0

どうすればそれをやりますか? –

+0

あなたが簡単に見つけることができるAPIを作る方法はたくさんあります。 apiがLaravelのようなPHPフレームワークを使用していたり​​、Nodejsを使ってAPIフレームワークを作ったりしたいのであれば、私は何をお勧めしますか? –

+0

これは、あまりにも多くのリクエストから403エラーが発生するのを防ぎますか? –

0

は、あなたは基本的にWebサーバを打つの連続ループを自分でDoS攻撃を作成しているように見えます。

+0

そのアプリケーションまたはサーバー要求に関連する単一のエラーは見つかりません。異なるアプリケーションのエラーのみが見つかります。 –

関連する問題