Cita:
Iniciado por Nemutagk mmm, no es posible robar sesiones como tal, para esto tendría que tener acceso directo al hosting, ahora, tu "sistema de seguridad" es relativo, con curl hago una petición a index.php y así obtengo la cookie con el SSID de la sesión, posteriormente puedo acceder directamente a send.php y el sistema crerá que soy un usuario común, por lo tanto, de seguridad no tiene mucho, lo que podrías hacer es colocar un sistema "captcha" para verificar que el usuario al menos tenga que leer una imagen o responder una pregunta lógica, lo que aleja sistemas de bots "caseros" o "sencillos"
Gracias por responder, he tratado de realizar acciones para evitar el robo por cookies, funcino por unas horas, pero ahora ha vuelto a tomar este usuario acceso como un usuario normal:
Código PHP:
ini_set("session.use_cookies", 0);
ini_set("session.use_trans_sid", 1);
Este es el archivo completo, lo que hace es recivir desde un formulario, un numero de telefono, pais y mensaje, para procesarlo y enviarlo por medio de una API que acutalmente compre, un pequeño paquete de SMS gratis.
Código PHP:
<?php
ini_set("session.use_cookies", 0);
ini_set("session.use_trans_sid", 1);
session_start();
//Retrieve the value of the hidden field
$form_secret = isset($_POST["form_secret"])?$_POST["form_secret"]:'';
if(isset($_SESSION["FORM_SECRET"])) {
if(strcasecmp($form_secret, $_SESSION["FORM_SECRET"]) === 0) {
//---------- Login Information --------
$username = "usuario";
$pass = "contraseña";
//---------------------------------------
//-------------- Sms sending information ----------
$no = $_POST['no']; // Phone number without country code.
$msg = stripslashes($_POST['msg']); // Message body
$len=strlen($msg);
if($len>160){
//$result="<num>3</num><txt>".$lang_en['status_len_exc']."</txt>";
//ending($result);
$cSMS = $len/160;
$cSMS = number_format($cSMS,1);
$cSMS = substr($cSMS,0,1);
}else{
$cSMS=1;
}
//-------------------------------------------------
$postdata = "p_num_text=$no&smstemplate=&message=$msg&txtcount=$len char : $cSMS Sms&hiddcount=153";
if(($no!="") && ($msg!="")){
$ch = curl_init();
//------------- Login ------------------
curl_setopt($ch, CURLOPT_URL, "http://url.dyndns.org/index.php");
curl_setopt($ch, CURLOPT_REFERER, "http://url.dyndns.org/index.php");
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13");
curl_setopt ($ch, CURLOPT_POSTFIELDS, "app=page&inc=login&op=auth_login&username=$username&password=$pass");
curl_setopt ($ch, CURLOPT_COOKIEJAR, "9876578jhsdb.txt");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$login = curl_exec ($ch);
//-------------------------------------------
//----------------- Send SMS -------------------
curl_setopt($ch, CURLOPT_URL, "http://url.dyndns.org/index.php?app=menu&inc=send_sms&op=sendsmstopv_yes");
curl_setopt($ch, CURLOPT_REFERER, "http://url.dyndns.org/index.php?app=menu&inc=send_sms&op=sendsmstopv");
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13");
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
//curl_setopt($ch, CURLOPT_COOKIEFILE, '9876578jhsdb.txt');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$send = curl_exec ($ch);
$search = strpos($send, "Your SMS has been delivered to queue");
if($search===false){
$errSuc = "Mensaje: $msg <br> To: $no <br> Tu mensaje ha sido enviado - menwes.com";
}else{
$errSuc = "Message: $msg <br> To: $no <br> Sent Successfully.";
//----------------------------------------------
}
curl_close ($ch);
}
unset($_SESSION["FORM_SECRET"]);
}else {
//Invalid secret key
}
} else {
//Secret key missing
echo "<center><b><font color='#FF0000'>Your Message has already been processed!</font></b></center> ";
}
?>
Que opinan!!
Gracias y Saludos.