Hallo Forum!
Die Whitelist irgendwo ist gut. Ich habe unter API Konfiguration was gefunden. Dort kann ich den Server auf eine Whitelist setzen, aber nur, wenn ich auch eine Pass Phrase hinterlege. Um das Problem zu umgehen habe ich die Datei
api/api_inc.php geändert und die Bereiche auskommentiert. Mein Ticketsystem läuft jetzt. Dennoch würde ich gerne wissen, wie ich das mit der Whitelist mache - wenn also jemand eine Idee hat - immer her zu mir damit.
Hier noch den Bereich den ich geändert habe:
//Remote hosts need authorization.
if($remotehost) {
//Upto 10 consecutive errors allowed...before a 5 minute timeout.
//One more error during timeout and timeout starts a new clock
if($_SESSION['api']['errors']>10 && (time()-$_SESSION['api']['time'])<=5*50) { // timeout!
api_exit(EX_NOPERM,'Host in Timeout');
}
//Check IP
$ip=$_SERVER['REMOTE_ADDR'];
//if(!Validator::is_ip($ip) || !$cfg->isKnownHost($ip)) { //unknown IP
// api_exit(EX_NOPERM,'Unknown remote host ['.$ip.']');
//}
//For added security...check API pass phrase.
//$key=$_SERVER['HTTP_USER_AGENT']; //pulling all tricks.
//if(empty($key) || strcasecmp($key,md5($cfg->getAPIKey()))) {
// api_exit(EX_NOPERM,'Invalid API Key ['.$key.']');
//}
//At this point we know the remote host/IP is allowed.
$_SESSION['api']['errors']=0; //clear errors for the session.
In meiner eMail die ich immer vom System erhalten habe, stand nur im Body eine
77 drin. Das ist ein Fehlercode und den kann man in der Datei
api/api.inc.php nachlesen. Dort steht dann, was damit gemeint ist. Für Anregungen bin ich offen und natürlich für eine "saubere" Lösung sowieso.
Viele Grüße
Jörg Peter