Uutiset:

Wondering if this will always be free?  See why free is better.

Main Menu
Advertisement:

Seguridad en function

Aloittaja NIMETOQUES, maaliskuu 15, 2013, 02:06:41 IP

« edellinen - seuraava »

NIMETOQUES

Hola ,
Tengo un foro SMF 2.0 , he desarrollado un formulario que cuando haces click en un submit suma +1 a un campo de una tabla msql que suma según el id de usuario , cuando hace click va a un archivo y lee el id del usuario según con el que esté conectado y ejecuta la suma , el problema es que es un concurso , es decir.. el boton es una imagen que aparece de vez en cuando en cualquier lugar del foro , y cuando haces click suma +1 , y hay usuarios que se las ingenian copiando el formulario y enviando los datos ellos mismos a el archivo , ¿Hay alguna forma de protegerlo? , Lo tengo dentro de un function en el SSI.php y ejecuto el function en un archivo que ejecuto cuando envío el form.
Quisiera protegerlo ..
Mil gracias de antemano!

DoctorMalboro

Por lo que entiendo, tenés un botón que a través de un código propio envía una consulta MySQL y suma puntos, y este susodicho botón aparece de manera espontánea por el foro. Si el problema es que uno puede entrar al formulario a través de una URL, podrías hacer un popup con Javascript y que el formulario con AJAX ejecute todo sin refrescar la página.

Sino, voy a necesitar un ejemplo.

MorderBR

+1 a la opción de DoctorMalboro, y creo que a parte, podrías poner una condición a la función que re-direccione(o algo por el estilo) si cierta variable está vacía, o si te refieres a esconder la acción del formulario, trata escondiendo la url con apache

NIMETOQUES

#3
Sí , es así , pero solo se PHP , y ajax he vsto un poco , aunque creo que es jquery , he escrito..

echo '$("#objeto").click(function () {';
echo '$("#objeto").fadeOut(1500);';
echo '$.post('http://www.metokes.com/foro/post.php');';
echo '});';

Y lo que hace es que va desapareciendo el submit cuando haces click y envía el formulario..
¿Es correcto?
¿Qué tendría que hacer en php para que ejecute mi código o se ejecuta todo el archivo?
Lo que quiero es que lo ejecute sin abrir ventana o sin cambiar la url , a "escondidas".

MorderBR

Lainaus käyttäjältä: NIMETOQUES - maaliskuu 16, 2013, 05:22:01 AP
Sí , es así , pero solo se PHP , y ajax he vsto un poco , aunque creo que es jquery , he escrito..

echo '$("#objeto").click(function () {';
echo '$("#objeto").fadeOut(1500);';
echo '$.post('http://www.metokes.com/foro/post.php');';
echo '});';

Y lo que hace es que va desapareciendo el submit cuando haces click y envía el formulario..
¿Es correcto?
¿Qué tendría que hacer en php para que ejecute mi código o se ejecuta todo el archivo?
Lo que quiero es que lo ejecute sin abrir ventana o sin cambiar la url , a "escondidas".

Por suerte creo que haces algo parecido a lo que yo hago, aquí te dejo mi código
Primero en php con get y switch hice varios casos, estos los estoy llamando con jquery así:

JS

$(document).ready(function() {
$("#div_o_boton_a_hacer_click").click(function(event) {
$("#div_donde_se_cargara_el_archivo").load(\'archivo.php?get=caso\');
});
});


y el html


<div id="div_o_boton_a_hacer_clicki" onclick="$(\'#contenedor_principal\').fadeIn(\'fast\');"></div>

<div id="contenedor_principal" style="display:none">
<div id="div_donde_se_cargara_el_archivo">
Aquí puede ir contenido que será reemplazado una vez que el archivo php esté cargado
</div>
</div>


No sé si te sirva

NIMETOQUES

Hola moder ,
¿Me lo podrías explicar un poco?
Llevo un poco de lío , cuando hagas click , te carga el php y se ejecuta un div , ¿No hay alguna forma para que solo cargue el php?
Si fuese para un concurso , ¿Esto puede tener seguridad?
Muchas gracias!

MorderBR

Mira, yo hago esto:
Estoy creando un centro de información, un avatar general para la web(es una simple imagen), cuando dan click sobre éste, se carga el contenido del php ya que el contenido de este centro de información tiene bastante código y creí que sería mejor que cargara después, si lo pongo a cargar con el resto de la web le daría mucho peso a la pagina(más del que ya tiene)
Algo así es mi centro:

Imagen---click----carga demás contenido html dentro de un php(aquí tengo otras funciones que también cargan a parte cuando dan click)
en código:


JavaScript
<script type="text/javascript">
$(document).ready(function() {
   $("#imagen").click(function(event) {
      $("#div_donde_se_cargara_el_archivo").load(\'archivo.php?info=1\');
   });
});
</script>

html
<div id="imagen" onclick="$(\'#contenedor_principal\').fadeIn(\'fast\');"></div>

<div id="contenedor_principal" style="display:none">
<div id="div_donde_se_cargara_el_archivo">
<img src="ajax.gif"/>
</div>
</div>

y en el archivo php externo(archivo.php):
   if (isset($_GET['info'])) $linkchoice=$_GET['info'];
      else $linkchoice='';

      switch($linkchoice){
         case '1' :
            info_one();
            break;
         default :
             header('Location: ',$url_web,'');  //$url_web es una variable global para solo el dominio de mi pagina
      }

function info_one()
{
echo'<div>Aquí el demás contenido a cargar cuando se le solicite</div>';
}


en cuanto a seguridad, eso ya te tocaría seguir investigando, no sé como sea el sistema de tu concurso

NIMETOQUES

Hola morder ,
Lo he puesto yno me funciona , ¿Tienes algo mas sencillo?
Muchas gracias por la ayuda :)

MorderBR

Estás adjuntando la librería jquery en el indice?
Y esto es lo más sencillo que creo encontrarás, he estado buscando este tipo de cosas y todas las que encontré son más complicadas,

Advertisement: