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 - zikotik

#31
Cita de: Brian1511 en 25 Julio 2013, 14:47 PM
Bueno gracias a todos por contestar de verdad muchas gracias , ahora les voy a mostrar lo que tengo :

este codigo es el info.php

...

Antes que nada, no te recomiendo nombrar a la tabla con el nombre de una de las columnas porque podrías generar errores. Y además estás repitiendo un include (aunque con distintas funciones).
Fijate si esto te funciona...

Código (php) [Seleccionar]

<?php
session_start
();
include(
'funciones.php');
$sql "SELECT * FROM puntos WHERE user='".$id."'");
$rs mysql_query($sql);
$row mysql_fetch_assoc($rs)
echo 
"Tus Puntos son: ".$row['puntos'];
?>



Código (php) [Seleccionar]
echo'<a href="http://quelok.netne.net/info.php?id='.$_SESSION['user'].'">  Ver Puntos   </a>';
#32
-
#33
Cita de: eferion en 25 Julio 2013, 13:24 PM
Eso de vulnerable a inyecciones SQL será si no validas lo que recibes, no??

No, el hecho de validar algo, implica una búsqueda y una respuesta.
Justamente lo que hace la inyección SQL es buscar una respuesta alterna (en términos básicos).

Ahora... si usaras el session_start, la inyección SQL no funcionaría, ya que la variable $_SESSION, básicamente lee las variables globales internas, no externas.
#34
Hola qué tal.
En primer lugar, no te conviene usar el GET porque tu página web sería vulnerable a las Inyecciones SQL, con lo cual te recomiendo usar "session_start()", "session_destroy()" y "$_SESSION".

Te dejo un ejemplo base para que puedas examinarlo bien y modificarlo a tu gusto.

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


<form method="post">
Leer dato nº
<input type="text" name="dato"><br>
<input type="submit" name="leer">
</form>

<?php
if(isset($_POST['leer'])){
$_SESSION['modo'] = 1;
$_SESSION['dato'] = $_POST['dato'];
header("Location: Leer.php");
}
?>



Leer.php
Código (php) [Seleccionar]
<?php
session_start
();
if(
$_SESSION['modo']!=1){
header("Location: Index.php");
} else {
 
echo 
'Dato n&#38;#186; '.$_SESSION['dato'];
 
session_destroy();
}
?>


PD:

Si estás totalmente seguro en querer usar el GET, no hay problema.
Directamente cambiá el method POST del form por method GET.
Eliminá la verificación de $_SESSION['modo'] (salvo que quieras dejarle cierta seguridad). Y Cambia $_SESSION y $_POST por $_GET.

Te tendría que quedar algo así...

Index.php
Código (php) [Seleccionar]
<form method="get">
Leer dato nº
<input type="text" name="dato"><br>
<input type="submit" name="leer">
</form>

<?php
if(isset($_GET['leer'])){
$dato $_GET['dato'];
header("Location: Leer.php?dato=".$dato);
}
?>


Leer.php
Código (php) [Seleccionar]
<?php
echo 'Dato nº '.$_GET['dato'];
?>


Reitero, no recomiendo usar el GET.
#35
Cita de: engelx en 17 Julio 2013, 19:23 PM
por otro lado... que tan rapido podria ser batch para esto? :s

Nada rápido... digamos que si ponemos una longitud de 4 caracteres, en batch se tardaría 1 hora o un poco más en escribir una lista completa de una longitud de 4 caracteres con una diversidad de 40 caracteres (más de 23720000 líneas).
#36
Cita de: EleKtro H@cker en 17 Julio 2013, 04:47 AM
Lo que te dije funciona para mostrar el caracter conflictivo "!" cuando la expansión de variables está activada como lo está en el código que has mostrado:

...

Bueno... la única manera es sacando el "!" y el "#".
Podría usar el C++, pero no se me ocurre cómo.
No le puedo sacar la lógica sinceramente, intenté con while(), for(), if() y nada...
#37
Cita de: EleKtro H@cker en 17 Julio 2013, 03:55 AM
Escapa:

Código (dos) [Seleccionar]
Echo ^^!

Saludos

Gracias por tu respuesta, pero lamentablemente me devuelve un valor nulo, no el símbolo tal.

Intenté tanto con ^ como con ^^ y nada.
#38
Scripting / [BATCH] Problema con diccionario
17 Julio 2013, 03:35 AM
Hola gente, les comento que estoy haciendo una pequeña aplicación en batch que genera un diccionario con la cantidad de caracteres que el usuario desee.

El sistema en términos básicos sería:

- suponiendo que se ingresó un máximo de 4 caracteres por palabras -

aaaa
aaab
aaac
aaad
aaae
aaaf
...
aaaz
aaa0
aaa1

- y así constantemente -

El problema es que no puedo hacer que salgan los caracteres ! y ?.
Les dejo el código para que lo lean y me den una pequeña ayuda si es posible.
Gracias de antemano.

Código (dos) [Seleccionar]
@echo off
title Diccionario
setlocal enabledelayedexpansion

set chars=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,w,x,y,z,0,1,2,3,4,5,6,7,8,9,!,?,#,@,.
set ini=0
set wor=0
set /p lenght=Lenght:

call :generar

pause
exit

:generar
set /a wor+=1
title Palabra %wor%
if %ini% neq %lenght% (
set /a ini+=1
for %%c in (!chars!) do call :generate %~1%%~c
set /a ini-=1
) else (
set cadena=%~1
echo.!cadena!
echo.!cadena!>>diccionario_!lenght!.txt
)
goto:eof
#39
Scripting / Re: Como hacer una consola batch
8 Julio 2013, 17:04 PM
Cita de: Meine programmen en  7 Julio 2013, 12:27 PM
No me gustaria parecer ignorante, pero no le acabo de ver la utilidad  :huh:

De hecho es sólo últil para los que quieran hacer sus propios comandos para hacer cosas que a los usuarios les interesaría, no es para cosas comunes como cmd.

Si querés hacer una consola más customizada, pero para ejecutar comandos DOS, te conviene ésto:

@echo off
title Konsola
color 0F

:main
set /p kon=#:
%kon%
goto main
#40
Scripting / Como hacer una consola batch
4 Julio 2013, 22:55 PM
Estaba aburrido, así que me puse a armar una consola en batch para llamar comandos ubicados en una carpeta bin que se encuentra en el mismo lugar que la consola (es decir, que no funciona con los comandos comunes del cmd, sino que tienen que hacer los suyos y meterlos en la carpeta bin)

La consola verifica que la cantidad de caracteres introducidos sea igual o mayor a 6, y si es así entonces verifica también que los primeros 3 caracteres equivalgan a algún comando que haya en la carpeta bin, luego verifica que los siguientes 2 caracteres, equivalgan al operador :: (cuatro puntos), y luego verifica si se insertó una instrucción o no. En caso que la cantidad de caracteres introducidos sea menor a 6, devuelve un error.

El código de la consola es el siguiente:
@echo off
setlocal enabledelayedexpansion
title Konsola
color 8F
cd bin

:main
set len=0
set "kon=....."
set /p kon=

:read
if not "!kon:~%len%,1!"=="" (
 set /a len+=1
 goto read
)

:chk
if %len% LSS 6 (goto error)
set kom=%kon:~0,3%
set chk=%kon:~3,2%
set ins=%kon:~5%
if %chk%==:: (goto kom) else (goto error)

:kom
if exist %kom%* (call %kom% %ins%) else (goto error)
goto main

:error
echo [x] invalid kom.
goto main


Digamos que quieren llamar a un comando sería:

[comando]::[instrucción]

Por ejemplo: supongamos que tienen un comando en la carpeta bin llamado kpr y lo que hace es matar un proceso, entonces tendrían que hacer:

kpr::chrome.exe

Otro ejemplo sería: si tienen un comando frw en la carpeta bin y lo que hace es activar o desactivar el firewall tanto con la instrucción firewall como con la instrucción set, entonces tendrían que hacer:

frw::firewall.off
frw::firewall.on
frw::set.off
frw::set.on


Espero que les guste, si tienen alguna duda, pregunten.
Y si tienen algún consejo, aconsejen.