Hola, soy nuevo en esta comunidad, así que no se qué nivel de preguntas se hacen normalmente aquí, pero bueno, soy bastante novato con el PHP así que va mi pregunta:
Tengo un scrpit PHP sencillo en mi página, este script me permite subir archivos a mi página web desde mi videojuego, se supone que es un videojuego algo así como para que los jugadores creen sus propios niveles y los puedan publicar, en mi página. Aquí dejo el script PHP:
Código:
<?php
//CORS header
header("Access-Control-Allow-Origin: *");
//Capture parameter
$fname = $_POST['fname']; //nombre del archivo que recibira como variable superglobal en modo post
$fcont = $_POST['fcont']; // contenido del archivo
//Write the file
if ($f = fopen("uploads/$fname", 'w')) {
fwrite($f, $fcont);
fclose($f);
echo "OK";
}//esto basicamente crea el archivo con el nombre que le diste, luego lo escribe y al final lo cierra
else {
echo "FAIL";//esto solo ocurre si el archivo no tiene nombre, o la informacion se envia incorrectamente
}
?>
Y bueno, el código funciona a la perfección. Pero me di cuenta de que con algo tan sencillo como un código HTML puedo "hackear" la página y publicar toda clase de archivos en ella
Así que me preguntaba cómo proteger este script y que solo pueda pubicarse archivos desde mi videojuego.
Aunque tengo otro script, que el problema es casi el mismo, solo que más peligroso, ya que este es para borrar archivos:
Código:
<?php
$fname = $_POST['archivo']; //nombre del archivo que se borrará
unlink('uploads/'.$fname); //borrado del archivo (suponiendo que está en la carpeta uploads)
?>
Y quisiera saber cómo protejer ambos scripts y que sólo sean ejecutables para mi juego y no para los juankers que me quieran juankear.