Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Hilfe bei PHP
#1
Hallo, unzwar geht es darum, dass ich ein Problem mit myBB habe, wenn ich ein neues Template erstelle und dort einen PHP-Code einfüge.

Es erscheint folgende Meldung:
Zitat:Folgende Fehler sind aufgetreten:
Es wurde ein mögliches Sicherheitsproblem im Template gefunden. Bitte prüfen Sie Ihre Eingabe oder wenden Sie sich an den MyBB-Support.

Sobald ich den Code aber als seperate .php-Datei speicher und abrufe bspw. (www.blabla.de/serverstatus.php) funktioniert alles, also der PHP-Code ist nicht fehlerhaft!

Den PHP-Code den ich einfügen will, dient nur dafür, meine Serverstatistiken von meinem Minecraft-Server abzurufen. (Spieleranzahl, Ping, IP & Port Anzeige, Minecraft-Version)

Der Code sieht so aus:
Zitat:<?php
//The following script is tested only with servers running on Minecraft 1.7.

$SERVER_IP="185.28.77.56"; //Insert the IP of the server you want to query. Query must be enabled in your server.properties file!

//You can either insert the DNS (eg. play.hivemc.com) OR the IP itself (eg. 187.23.123.21).
//Note: port is not neccesary when running the server on default port, otherwise use it!

// Get Data and Status API Checker
function get_data($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$data = curl_exec($ch);
$httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return array(
'status' => $httpStatus,
'data' => $data
);
}

//Query the data from the server using Minecraft API (also known as IamPhoenix's API)
$userlistserver = get_data("http://api.iamphoenix.me/list/?server_ip=" . $SERVER_IP . "");
$serverdata = get_data("http://minecraft-api.com/v1/get/?server=" . $SERVER_IP . "");

// Json Decode
$data_list = json_decode($userlistserver["data"], true);
$data_general = json_decode($serverdata["data"], true);

//Put the collected player information into an array for later use.
$array_list = explode(',', $data_list['players']);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>MC PHP Query 2</title>
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css">
<link href='http://fonts.googleapis.com/css?family=Lato:300,400' rel='stylesheet' type='text/css'>
<link href="https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script language="javascript">
jQuery(document).ready(function(){
$("[rel='tooltip']").tooltip();
});
</script>
<style>
/*Custom CSS Overrides*/
body {
font-family: 'Lato', sans-serif !important;
}
</style>
</head>
<body>
<div class="container">
<h1>MC PHP Query</h1><hr>
<div class="row">
<div class="span4">
<h3>General Information</h3>
<table class="table table-striped">
<tbody>
<tr>
<td><b>IP</b></td>
<td><?php echo $SERVER_IP; ?></td>
</tr>
<?php if ($serverdata["status"] == "200" && $data_general['error'] == "") { ?>
<tr>
<td><b>Version</b></td>
<td><?php echo $data_general['version']; ?></td>
</tr>
<?php } ?>
<?php if ($serverdata["status"] == "200" && $data_general['error'] == "") { ?>
<tr>
<td><b>Players</b></td>
<td><?php echo "".$data_general['players']['online']." / ".$data_general['players']['max']."";?></td>
</tr>
<?php } ?>
<tr>
<td><b>Status</b></td>
<td><? if($data_general['status'] == 'true') { echo "<i class=\"icon-ok-sign\"></i> Server is online"; } else { echo "<i class=\"icon-remove-sign\"></i> Server is offline";}?></td>
</tr>
<?php if ($serverdata["status"] == "200" && $data_general['error'] == "") { ?>
<tr>
<td><b>Latency</b></td>
<td><?php echo "".$data_general['latency']."ms"; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="span8">
<h3>Players</h3>
<?php
if ($userlistserver["status"] == "200" && $data_general['error'] == "") {
//Take the username values from the array & grab the avatars from Minotar.
foreach($array_list as $key => $value){$users .= "<a data-placement=\"top\" rel=\"tooltip\" style=\"display: inline-block;\" title=\"".$value."\">
<img src=\"https://minotar.net/avatar/".$value."/50\" size=\"40\" width=\"40\" height=\"40\" style=\"width: 40px; height: 40px; margin-bottom: 5px; margin-right: 5px; border-radius: 3px;\"/></a>";}
//Display the avatars only when there are players online.
if($data_general['players']['online'] > 0) {
print_r($users);
}
//If no avatars can be shown, display an error.
else {
echo "<div class=\"alert\"> There are no players online at the moment!</div>";
}
}else{
echo "<div class=\"alert\"> Query must be enabled in your server.properties file!</div>";
}
?>
</div>
</div>
</div>
</body>
</html>
Zitieren
#2
PHP-Code ist in Templates nicht erlaubt.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Super, toll....

Was soll ich nun machen?

Danke für die schnelle Antwort, mfg. Julian
Zitieren
#4
http://mybbhacks.zingaburga.com/showthread.php?tid=260
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#5
Jo, sauber danke!

Jetzt noch wissen wies installiert wird, dann wärs perfekt! Smile

Mfg, Julian
Zitieren
#6
Entpacken und den Inhalt in den Ordner plugins kopieren. Im ACP unter Plugins dieses dann Installieren / Aktivieren.
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#7
Hilft leider nicht. Selbe Meldung immernoch.
Zitieren
#8
Welche Meldung ?
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#9
Folgende Fehler sind aufgetreten:
Es wurde ein mögliches Sicherheitsproblem im Template gefunden. Bitte prüfen Sie Ihre Eingabe oder wenden Sie sich an den MyBB-Support.


Trotz installierten Plugin.
Zitieren
#10
So wirds mit Sicherheit auch nicht gehen wie in deinem ersten Beitrag. Die Anleitung und was alles Möglich ist, kannst Du auf der Beitragsseite von Xthreads entnehmen.

Was genau hast Du vor und was soll angezeigt werden ?
Mit freundlichen Grüßen

MrBrechreiz
Zitieren