Noviembre 18, 2015, 05:53:13 PM Ultima modificación: Noviembre 22, 2015, 01:32:46 PM por NiuWeb
Hola, hace poco se resolvió el tema de Subir archivo a hosting, y gracias a él y a unas preguntás más que hice en ese tema, logré subir mis archivos a mi host. Pero se me vino a la cabeza... "Todo lo que sube, tiene que bajar" y capté que si quiero hacer un juego con soporte online, debo darle a los usuarios la posibilidad de eliminar SUS PROPIOS niveles. Así que mi pregunta es:

Cómo elimino archivos que ya he subido al hosting
es decir que, yo seguí exitosamente el tema de subir archivos, y quiero poder eliminar los archivos que se han subido con este método

Supongo que está muy claro lo que quiero, agradecería me ayudaran... :D :D
alaberga regué el café.

BA:STFW&RTFM

En GMS:

ruta_php="http://www.gamegeisha.net/gms_delete.php";//ruta de ejemplo
archivo="myini.ini";//nombre del archivo a borrar
http_post_string(ruta_php,"archivo="+archivo);//envía el nombre del archivo al servidor


En el servidor, el archivo php debe estar en la ruta indicada por ruta.php y contener algo así:

<?php
$fname 
$_POST['archivo']; //nombre del archivo que se borrará
unlink('uploads/'.$fname); //borrado del archivo (suponiendo que está en la carpeta uploads)
?>



Voy a probarlo...pero una duda:
¿No podría usarse ese sistema para hackear servidores que tengan ese script? osea que yo uso eso en mi host y otro pilluelo hace ese código en su GMS y el podría hackearme ¿no?
alaberga regué el café.

BA:STFW&RTFM

Sí, y ni siquiera necesitaría usar GMS.
Cita de: penumbra en Noviembre 09, 2015, 10:15:43 AM
NOTA: Existiría la posibilidad (quizás remota, quizás no tanto) de que alguien más podría aprovechar el script para subir archivos al servidor.

Buen momento para estudiar seguridad en PHP

Y dónde me recomendarías que aprendiera eso de seguridad en PHP?   :D
alaberga regué el café.

BA:STFW&RTFM


#6 Noviembre 19, 2015, 10:51:59 AM Ultima modificación: Noviembre 19, 2015, 10:56:48 AM por kostra
adjunto el primer archivo oficial de hackeo a Niuweb, solo tienes que cambiar el enlace por tu web (véase código fuente) :P
PD: Tómese esto a broma porfavor =_= aunque la seguridad sea seria :B
PD2: INDETECTABLE POR NINGÚN ANTIVIRUS!!
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Oh por Dios! Kostra eres un Juanker!
Buscaré en internet como dijo Guacusio y publicaré aquí si encuentro algo útil...si no, pues... seguiré buscando...xD
alaberga regué el café.

BA:STFW&RTFM

para hacerlo algo más segur se me ocurre usar sql, pero claro, yo ni idea, aunque ya tienes una inspiración para buscar jeje
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Como primera medida de seguridad, hay que evitar hacer público el contenido del php. Si ya lo hiciste, entonces puedes modificarlo para exigir del cliente una variable adicional con un password en la información que viene en el post y sólo ejecutar el php si el password es correcto (y por supuesto, no publicar el contenido de ese php nuevo).


claro que tampoco es injuankeable xD
El caso es que te pasará como en mi proyecto... se empieza con algo mierdón... y si por algún milagroso caso se hace famoso, entonces es cuando se tendrá problemas de seguridad.. y a partir de ahí, problema, solución, problema, solución... ir mejorando en actualizaciones, como hacen todos, resolviendo problemas :B
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Supongo que será así...xD
PD: Guacusio, cómo puedo hacer eso que dices ¿algún tutorial o enlace para hacerlo?
alaberga regué el café.

BA:STFW&RTFM

niuweb para poder hacer lo que dice guacusio simplemente tienes que saber como obtener las variables a partir de un link, te lo sintetiso:

hay dos maneras de pasar informacion a un php

las que usan la variable $_GET:

link: www.tu-pagina.com/tuphp.php?variable1=cadenadetexto&variable2entero=5
php

<?php
$variable1
$_GET['variable1'];
int $variable2entero=$_GET['variable2entero'];
?>



y las que usan la variable $_POST:

link: www.tu-pagina.com/tuphp.php
<?php
$variable1
$_POST['variable1'];
int $variable2entero=$_POST['variable2entero'];
?>


la principal diferencia entre ellas es que, como puedes ver, en una la variable esta en el link y en la otra se envia en forma de formulario y es invisible para un navegador. las variables get y post son array superglobales que no requieren que las declares antes de llamarlas. una cosa importante acerca de las variables en php es que siempre tienen que iniciar con $.

entonces a partir de aqui tu puedes hacer cosas increibles con un php, puedes hacer bucles, condicionales, llamadas de datos entre otras cosas.

lo que nos preocupa en tu caso es que quieres que introduscan una clave y si la clave es correcta se puede borrar el archivo, bueno eso es bastante interesante y se puede hacer de muchas maneras, te recomendaria usar sql, de esta manera seria algo asi

<?php
$nivel 
$_GET['nivel']
$pass $_GET['pass']
//despues de conectarte con la base de datos
mysql_query("DELETE FROM `tabla_de_niveles` WHERE `id_nivel` = $nivel and`id_nivel`= $pass")?>



si no quieres usar un sql puedes hacer esto


<?php
$pass 
=$_GET['pass'];
$_pass_global="tu pass";
$fname $_GET['archivo'];
if (
$pass == $pass_global)
{
unlink('uploads/'.$fname);}
else
echo 
"pass incorrecto";
?>



el problema con el segundo es que no podras tener una clave por archivo como seria el caso el sql. sino que sera una sola clave y todos los que la tengan podran borrar cualquier archivo.

ps: uso variables GET para los ejemplos pero perfectamente se podria usar variables post, para hacer uso de una u otra dentro de gml se usaria lo siguiente




http_post_string(url,variables en post): variables post
http_get(url?variables): variables get

aqui tienes el manual de php: http://php.net/manual/es/index.php
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

Intentaré la segunda opción a ver qué tal me va, se tanto de SQL como de fabricación de camisetas... :-[
alaberga regué el café.

BA:STFW&RTFM