par
HGStyle » 03 déc. 2022, 15:25
Bonjour,
Je suis nouveau et à ce forum et à PHP.
Je connait le language Python, mais je me suis interressé à PHP car il me permet de gérer une base de donnée MySQL et de pouvoir montrer son contenu sûrement (dans le sans de sureté) au public.
Mes premiers codes PHP fonctionnes.
Mais mon script "add.php" ne peut pas être chargé dans mon naviguateur Brave.
Il est censé :
- si c'est une requête "GET", montrer un formulaire
- si c'est une requête "POST", vérifier puis ajouter à ma base de données MySQL les données.
- pour toute autre type de requête, afficher "[NOM] method is not supported."
Voici mon script PHP (nommé "add.php") qui est d'ailleurs certainement le pire code PHP que vous n'aurez jamais vu (lol) et qui est (normalement) indenté (je crois que le forum n'affiche pas les espaces au début de ligne, en tout cas, sur l'apercu, ils ne sont pas affichés):
Code : Tout sélectionner
<?php
function missingdata() {
header('Content-Type: application/json; charset=utf-8');
echo json_encode(array('status' => 'error', 'message' => 'Missing data.'));
die();
}
$_SERVER['REQUEST_METHOD'] = 'GET'
// Get variables from connection.php
require('connection.php');
// Import functions from functions.php
require('functions.php');
// If request is send with POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Set Content-Type header
header('Content-Type: application/json; charset=utf-8');
// Check if an info isnt provided
if (empty($_POST['username']) || empty($_POST['password']) || empty($_POST['email'])) {
echo json_encode(array('status' => 'error', 'message' => 'An info is missing.'));
die();
}
$input_username = $_POST['username'];
$input_password = $_POST['password'];
$input_email = $_POST['email'];
if ($input_username !== $admin_username || $input_password !== $admin_password || $input_email !== $admin_email) {
echo json_encode(array('status' => 'error', 'message' => 'Email, username or password is incorrect.'));
die();
}
// Disable warning messages temporary
error_reporting(E_ERROR | E_PARSE);
// Im a slacker lol
$osname = $_POST['osname'];
$isconfirmed = $_POST['isconfirmed'];
$osversion = $_POST['osversion'];
$osedition = $_POST['osedition'];
$osdevelopper = $_POST['osdevelopper'];
$oslanguage = $_POST['oslanguage'];
$osdate = $_POST['osdate'];
$fileparts = $_POST['fileparts'];
$leakedby = $_POST['leakedby'];
$sha256sum = $_POST['sha256sum'];
$downloadlink = $_POST['downloadlink'];
// WARNING : Boring PHP code incoming !
if (!isset($osname) || empty($osname)) {missingdata();}
if (!isset($isconfirmed) || empty($isconfirmed)) {$isconfirmed = 0;}
if (!isset($osversion) || empty($osversion)) {missingdata();}
if (!isset($osedition) || empty($osedition)) {$osedition = 'Unknown';}
if (!isset($osdevelopper) || empty($osdevelopper)) {$osdevelopper = 'Unknown';}
if (!isset($oslanguage) || empty($oslanguage)) {$oslanguage = 'Unknown';}
if (!isset($osdate) || empty($osdate)) {$osdate = 0;}
if (!isset($fileparts) || empty($fileparts)) {$fileparts = 0;}
if (!isset($leakedby) || empty($leakedby)) {$leakedby = 'Unknown';}
if (!isset($sha256sum) || empty($sha256sum)) {$sha256sum = 'Unknown';}
if (!isset($downloadlink) || empty($downloadlink)) {missingdata();}
// Re-enable warning messages
error_reporting(E_ALL);
// Create connection to database
$conn = mysqli_connect($hostname, $username, $password, $dbname);
// Create and send SQL command
$formated = format('({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {})', array($osname, $isconfirmed, $osversion, $osedition, $osdevelopper, $oslanguage, $osdate, $fileparts, $leakedby, $sha256sum, $downloadlink));
$sqlcommand = "INSERT INTO osdb (osname, isconfirmed, osversion, osedition, osdevelopper, oslanguage, osdate, fileparts, leakedby, sha256sum, downloadlink)
VALUES " . $formated;
$result = $conn->query($sqlcommand);
if ($result) {
echo json_encode(array('status' => 'success', 'message' => 'OS Added successfully !'));
} else {
echo json_encode(array('status' => 'error', 'message' => 'MySQL Error : ' . $conn->error, 'mysqlcommand' => $sqlcommand));
}
// Close the connection
mysqli_close($conn);
} elseif ($_SERVER['REQUEST_METHOD'] == 'GET') {
echo '<center><h1>Welcome</h1>';
echo '<form action="add.php" method="post">
Username : <input type="text" name="username"><br>
Password : <input type="password" name="password"><br>
Email : <input type="email" name="email"><br>
---------------------------------------------------<br>
OS Name : <input type="text" name="osname"><br>
Is confirmed : <input type="number" min="0" max="1" name="isconfirmed"><br>
OS Version : <input type="text" name="osversion"><br>
OS Edition : <input type="text" name="osdition"><br>
OS Developper : <input type="text" name="osdevelopper"><br>
OS Language : <input type="text" name="oslanguage"><br>
OS Date : <input type="number" min="1" max="9999" name="osdate"><br>
File Parts : <input type="number" min="0" max="999999" name="fileparts"><br>
Leaked by : <input type="text" name="leakedby"><br>
SHA-256 sum : <input type="text" name="sha256sum"><br>
Download link : <input type="url" name="downloadlink"><br>
<input type="submit" value="Login and add OS">
<input type="reset" value="Reset form">
</form></center>';
} else {
echo $_SERVER['REQUEST_METHOD'] . " method is not supported.";
}
?>
voici le contenu de mon fichier `functions.php` (c'est des fonctions utiles que j'ai trouvé sur internet) :
Code : Tout sélectionner
<?php
function console_log($output, $with_script_tags = true) {
$js_code = 'console.log(' . json_encode($output, JSON_HEX_TAG) .
');';
if ($with_script_tags) {
$js_code = '<script>' . $js_code . '</script>';
}
echo $js_code;
}
function format($msg, $vars) {
$vars = (array)$vars;
$msg = preg_replace_callback('#\{\}#', function($r){
static $i = 0;
return '{'.($i++).'}';
}, $msg);
return str_replace(
array_map(function($k) {
return '{'.$k.'}';
}, array_keys($vars)),
array_values($vars),
$msg
);
}
?>
Et voici le fichier `connection.php` (sans les identifiants

) :
Code : Tout sélectionner
<?php
$dbname = ""; // MySQL Database Name
$username = ""; // MySQL Username
$password = ""; // MySQL Password
$hostname = ""; // MySQL Host Name / MySQL Host Address
$admin_username = "" // Admin Username
$admin_email = "" // Admin Email
$admin_password = "" // Admin Password
?>
Voici l'écran qui m'est affiché :
i-imgur-com O39Vi3D.png
et voici le lien du script :
osworldtourdb-1-ws-com database add.php
Pour les liens, remplacez "-" par "." et " " par "/".
Quelqu'un peut il m'aider svp ?
Merci d'avance.
Bonjour,
Je suis nouveau et à ce forum et à PHP.
Je connait le language Python, mais je me suis interressé à PHP car il me permet de gérer une base de donnée MySQL et de pouvoir montrer son contenu sûrement (dans le sans de sureté) au public.
Mes premiers codes PHP fonctionnes.
Mais mon script "add.php" ne peut pas être chargé dans mon naviguateur Brave.
Il est censé :
- si c'est une requête "GET", montrer un formulaire
- si c'est une requête "POST", vérifier puis ajouter à ma base de données MySQL les données.
- pour toute autre type de requête, afficher "[NOM] method is not supported."
Voici mon script PHP (nommé "add.php") qui est d'ailleurs certainement le pire code PHP que vous n'aurez jamais vu (lol) et qui est (normalement) indenté (je crois que le forum n'affiche pas les espaces au début de ligne, en tout cas, sur l'apercu, ils ne sont pas affichés):
[code]
<?php
function missingdata() {
header('Content-Type: application/json; charset=utf-8');
echo json_encode(array('status' => 'error', 'message' => 'Missing data.'));
die();
}
$_SERVER['REQUEST_METHOD'] = 'GET'
// Get variables from connection.php
require('connection.php');
// Import functions from functions.php
require('functions.php');
// If request is send with POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Set Content-Type header
header('Content-Type: application/json; charset=utf-8');
// Check if an info isnt provided
if (empty($_POST['username']) || empty($_POST['password']) || empty($_POST['email'])) {
echo json_encode(array('status' => 'error', 'message' => 'An info is missing.'));
die();
}
$input_username = $_POST['username'];
$input_password = $_POST['password'];
$input_email = $_POST['email'];
if ($input_username !== $admin_username || $input_password !== $admin_password || $input_email !== $admin_email) {
echo json_encode(array('status' => 'error', 'message' => 'Email, username or password is incorrect.'));
die();
}
// Disable warning messages temporary
error_reporting(E_ERROR | E_PARSE);
// Im a slacker lol
$osname = $_POST['osname'];
$isconfirmed = $_POST['isconfirmed'];
$osversion = $_POST['osversion'];
$osedition = $_POST['osedition'];
$osdevelopper = $_POST['osdevelopper'];
$oslanguage = $_POST['oslanguage'];
$osdate = $_POST['osdate'];
$fileparts = $_POST['fileparts'];
$leakedby = $_POST['leakedby'];
$sha256sum = $_POST['sha256sum'];
$downloadlink = $_POST['downloadlink'];
// WARNING : Boring PHP code incoming !
if (!isset($osname) || empty($osname)) {missingdata();}
if (!isset($isconfirmed) || empty($isconfirmed)) {$isconfirmed = 0;}
if (!isset($osversion) || empty($osversion)) {missingdata();}
if (!isset($osedition) || empty($osedition)) {$osedition = 'Unknown';}
if (!isset($osdevelopper) || empty($osdevelopper)) {$osdevelopper = 'Unknown';}
if (!isset($oslanguage) || empty($oslanguage)) {$oslanguage = 'Unknown';}
if (!isset($osdate) || empty($osdate)) {$osdate = 0;}
if (!isset($fileparts) || empty($fileparts)) {$fileparts = 0;}
if (!isset($leakedby) || empty($leakedby)) {$leakedby = 'Unknown';}
if (!isset($sha256sum) || empty($sha256sum)) {$sha256sum = 'Unknown';}
if (!isset($downloadlink) || empty($downloadlink)) {missingdata();}
// Re-enable warning messages
error_reporting(E_ALL);
// Create connection to database
$conn = mysqli_connect($hostname, $username, $password, $dbname);
// Create and send SQL command
$formated = format('({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {})', array($osname, $isconfirmed, $osversion, $osedition, $osdevelopper, $oslanguage, $osdate, $fileparts, $leakedby, $sha256sum, $downloadlink));
$sqlcommand = "INSERT INTO osdb (osname, isconfirmed, osversion, osedition, osdevelopper, oslanguage, osdate, fileparts, leakedby, sha256sum, downloadlink)
VALUES " . $formated;
$result = $conn->query($sqlcommand);
if ($result) {
echo json_encode(array('status' => 'success', 'message' => 'OS Added successfully !'));
} else {
echo json_encode(array('status' => 'error', 'message' => 'MySQL Error : ' . $conn->error, 'mysqlcommand' => $sqlcommand));
}
// Close the connection
mysqli_close($conn);
} elseif ($_SERVER['REQUEST_METHOD'] == 'GET') {
echo '<center><h1>Welcome</h1>';
echo '<form action="add.php" method="post">
Username : <input type="text" name="username"><br>
Password : <input type="password" name="password"><br>
Email : <input type="email" name="email"><br>
---------------------------------------------------<br>
OS Name : <input type="text" name="osname"><br>
Is confirmed : <input type="number" min="0" max="1" name="isconfirmed"><br>
OS Version : <input type="text" name="osversion"><br>
OS Edition : <input type="text" name="osdition"><br>
OS Developper : <input type="text" name="osdevelopper"><br>
OS Language : <input type="text" name="oslanguage"><br>
OS Date : <input type="number" min="1" max="9999" name="osdate"><br>
File Parts : <input type="number" min="0" max="999999" name="fileparts"><br>
Leaked by : <input type="text" name="leakedby"><br>
SHA-256 sum : <input type="text" name="sha256sum"><br>
Download link : <input type="url" name="downloadlink"><br>
<input type="submit" value="Login and add OS">
<input type="reset" value="Reset form">
</form></center>';
} else {
echo $_SERVER['REQUEST_METHOD'] . " method is not supported.";
}
?>
[/code]
voici le contenu de mon fichier `functions.php` (c'est des fonctions utiles que j'ai trouvé sur internet) :
[code]
<?php
function console_log($output, $with_script_tags = true) {
$js_code = 'console.log(' . json_encode($output, JSON_HEX_TAG) .
');';
if ($with_script_tags) {
$js_code = '<script>' . $js_code . '</script>';
}
echo $js_code;
}
function format($msg, $vars) {
$vars = (array)$vars;
$msg = preg_replace_callback('#\{\}#', function($r){
static $i = 0;
return '{'.($i++).'}';
}, $msg);
return str_replace(
array_map(function($k) {
return '{'.$k.'}';
}, array_keys($vars)),
array_values($vars),
$msg
);
}
?>
[/code]
Et voici le fichier `connection.php` (sans les identifiants :) ) :
[code]
<?php
$dbname = ""; // MySQL Database Name
$username = ""; // MySQL Username
$password = ""; // MySQL Password
$hostname = ""; // MySQL Host Name / MySQL Host Address
$admin_username = "" // Admin Username
$admin_email = "" // Admin Email
$admin_password = "" // Admin Password
?>
[/code]
Voici l'écran qui m'est affiché :
i-imgur-com O39Vi3D.png
et voici le lien du script :
osworldtourdb-1-ws-com database add.php
Pour les liens, remplacez "-" par "." et " " par "/".
Quelqu'un peut il m'aider svp ?
Merci d'avance.