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ú

Temas - Leguim

#181
Buenas noches,
tengo un problema y es que tengo un texto con <span> que con CSS le digo que al momento de pasar el cursor por encima este cambie de color, el problema es que si yo paso el mouse fuera del texto pero en la misma linea de igual forma lo toma como una acción valida.

Por ejemplo:

|Mi texto| <= <span>

Correcto, las dos | | representan el alcance del :hover ahora mi problema es este

|Mi texto                                          | <= <span>

Como pueden ver hay un gran espacio a la derecha que al momento de pasar el cursor en ese espacio vacío, css lo va a tomar como si igual haya hecho hover.

Código (html) [Seleccionar]

<span class="ticket_name">Texto</span>


Código (css) [Seleccionar]

.ticket_name {
display: block;
color: #999;
font-size: 15px;
font-weight: bold;
margin-top: 5px;
cursor: pointer;
}

.ticket_name:hover {
color: #00ff00;
}
#182
Buenas noches,
soy obsesivo compulsivo  :xD o algo así jeje y quería saber como hacen ustedes para elegir buenos nombres de clases, nombres organizados...

<div class="box_login"></div>

Este es un ejemplo, pero como hacen ustedes ya que me di cuenta que facebook lo que hace es usar nombre de clases raras algo como class="f435_j894" por dar un ejemeplo.

Gracias, y ya se que es una pregunta muy tonta  :xD!
#183
PHP / (Pregunta): SESSION ilimitada
20 Noviembre 2019, 21:30 PM
Buenos dias habia ajustado para que las sessiones php su tiempo de vida sean ilimitadas.. la unica forma para que estas murieran era que el navegador sea cerrado..

Código (php) [Seleccionar]

ini_set ('session.cookie_lifetime', '0');
ini_set ('session.gc_maxlifetime', '0');

session_start ();


Este código es llamado en cada pagina que use sessiones.

Estoy teniendo un problema y es que mi session se cierra algunas veces, no se si sea por otro sistema que tenga pero por el momento quiero descartar esta posibilidad y leer sus opiniones sobre si este script está bien.

Gracias
#184
Buenos días,

estaba usando fuentes especiales para usarlas como iconos en mi aplicación web, el problema es que estos iconos quedan un poco más arriba y tengo que bajarlos un poco. (estoy intentando con margin-top: -50) pero no lo baja, ni un poco siquiera...



Los estilos son:

Código (css) [Seleccionar]

.button_submit {
width: auto;
height: 35px;
padding: 0px 7px 4px 8px;
              border-radius: 2.5px;
            cursor: pointer;
}


HTML:

Código (html) [Seleccionar]

<button type="submit" name="submit_form_index" class="button_submit">
          <span style="display: block; color: #fff; font-family: opensans; font-size: 14px; margin-top: 3px;">Acceder <span class="icon-chevron-right" style="margin-top: 50px;"></span></span>
</button>


Intenté poniendo "display:block" a el <span> que contiene el icono pero se me va para abajo el icono y queda el texto arriba en el boton.
#185
Buenos días,

estaba usando fuentes especiales para usarlas como iconos en mi aplicación web, el problema es que estos iconos quedan un poco más arriba y tengo que bajarlos un poco. (estoy intentando con margin-top: -50) pero no lo baja, ni un poco siquiera...



Los estilos son:

Código (css) [Seleccionar]

.button_submit {
width: auto;
height: 35px;
padding: 0px 7px 4px 8px;
             border-radius: 2.5px;
           cursor: pointer;
}


HTML:

Código (html) [Seleccionar]

<button type="submit" name="submit_form_index" class="button_submit">
         <span style="display: block; color: #fff; font-family: opensans; font-size: 14px; margin-top: 3px;">Acceder <span class="icon-chevron-right" style="margin-top: 50px;"></span></span>
</button>


Intenté poniendo "display:block" a el <span> que contiene el icono pero se me va para abajo el icono y queda el texto arriba en el boton.

EDIT: Termine publicando el tema dos veces porque no tenia internet (tenia muy poca señal) quedo esto cargando y cerre la pestaña, despues de 2 horas lo intente otra vez y tampoco tenia buena señal (no era el foro, era mi internet) y tambien quedo cargando y lo cerre.. y ahora que entro estan los dos temas..
#186
Buenas noches,
quería que al momento de que el usuario deje de tener internet en su dispositivo, muestre una alerta o un mensaje "Sin conexión a internet".

No se si sea relevante, pero estoy desarrollando en XAMPP
gracias.
#187
Quería un código para hacer un scroll hacia abajo de forma automática con javascript.
Tengo esto, pero no me funciona.

Código (javascript) [Seleccionar]

document.getElementsByTagName('body').scrollTop = document.getElementsByTagName('body').scrollHeight;


Gracias
#188
¿Qué significa este warning y por qué se produce

#189
Buenas noches,
tengo la siguiente función...

Código (php) [Seleccionar]

function Eject($page)
{
if(is_string($page))
{
header('Location: aplication/'.($page));
exit();
}
}


Basicamente lo que hace esta función es expulsar a un usuario a otra pagina...

Digamos que...

Código (php) [Seleccionar]

$usuario_permitido = false;
if($usuario_permitido == false)
{
      Eject('index');
}

echo "Buenas noches!";



Básicamente vamos a preguntar si el usuario tiene permitido ver esta pagina y en el caso de que sea falso lo va a eyectar a la pagina "index" por tanto no sólo no va a poder ver la pagina, si en el caso puede cambiar el comportamiento del href no va a poder ver el mensaje buenas noches ya que se uso "exit();"

La pregunta es, si yo uso Eject(); en una pagina dentro del directorio "aplication/" basta con dejar la función como esta...
pero si quiero ejecutar la función en el directorio "aplication/ajax/page.php" ya es un directorio diferente...

lo mismo si el directorio es "aplication/directorio_a/direcotorio_b/etc/page.php"

lo que estoy buscando es redireccionarlo de una forma más global sin necesidad de depender en que directorio este...

algo como...
Eject("www.aplication.com/aplication")
#190
Buenos días,
de forma global todas mis sessiones las modifique para que duren hasta que el usuario cierre el navegador, luego de eso se borran.

Código (php) [Seleccionar]

ini_set('session.cookie_lifetime', '0');
ini_set('session.gc_maxlifetime', '0');
session_start();


Pero como puedo hacer que determinada $_SESSION dure 2 horas sólo esa session...
#191
Buenas noches,
Estaba haciendo un sistemita de tentativas al enviar un formulario, al llegar a las 3 tentativas se le enviará un mensaje "Llegaste a los 3 intentos ya no podes usar el formulario". Estaba pensando que para esto podria usar cookies que vayan contando sus intentos pero mi duda es si el usuario puede editar esta cookie y poner el valor que el quiera o si es mejor usar $_SESSION aunque no se..
#192
Buenas noches,
hace unos días había publicado el mismo tema sobre como podía ejecutar o llamar una consulta SQL cada 5 minutos... ¿Como podría hacerlo? De verdad, cualquier respuesta me sirve de 10 ya casi estoy terminando mi aplicación web y esto es una de las cositas que necesito saber para poder terminarla de una buena vez.

Gracias.
#193
Buenas noches,
como podría inyectar código sql a la siguiente consulta,

Código (php) [Seleccionar]

"SELECT P.id_post, P.id_user, U.id_user, U.avatar FROM posts P INNER JOIN users U ON P.id_user = U.id_user WHERE P.title LIKE "%'.($search).'%" ORDER BY P.id_post DESC"


La idea es, tengo un input donde ingresa un texto y ese texto buscará publicaciones o temas donde el titulo sea parecido a el texto, la idea es como puedo inyectar un codigo sql que elimine todas las publicaciones algo como "DELETE FROM posts" peor no se como inyectar eso, no se preocupen que no quiero hackear nada  :xD jeje, estoy provando vulnerabilidades en mi sistema.
#194
Desarrollo Web / [Pregunta]: Usar Long-Polling
27 Octubre 2019, 17:47 PM
Buenos días,
estuve buscando en youtube y en diferentes blogs información sobre el long polling... el concepto ya lo tengo claro lo que no puedo entender es como usarlo, abrir el canal de comunicación a la espera de algún cambio de la base de datos y si lo hay es que haga una cosa u otra...
Tampoco les pido un código super completo porque no me gusta que me hagan la tarea pero si que me serviría mucho un código super básico por lo menos para que aparezca el canal de comunicación en el navegador y que cuando haya un cambió simple en una tabla de una base de datos pase algo u otra cosa.

Gracias.
#195
Buenas noches,
¿Como podría ocultar el error 500 en xampp?

hace unos días había logrado personalizar todos los errores desde el 400 hasta el 510 para que el mismo xampp no diga mi versión de apache..

el asunto es que si tengo un archivo .php por ejemplo, prueba.php

si la persona pone en la url

localhost/aplicacion/prueba/
dará este error 500

Ya había personalizado los errores en .htaccess

Código (php) [Seleccionar]

ErrorDocument 400 /aplicacion/error?number=400
ErrorDocument 401 /aplicacion/error?number=401
ErrorDocument 402 /aplicacion/error?number=402
ErrorDocument 403 /aplicacion/error?number=403
ErrorDocument 404 /aplicacion/error?number=404
ErrorDocument 405 /aplicacion/error?number=405
ErrorDocument 406 /aplicacion/error?number=406
ErrorDocument 407 /aplicacion/error?number=407
ErrorDocument 408 /aplicacion/error?number=408
ErrorDocument 409 /aplicacion/error?number=409
ErrorDocument 410 /aplicacion/error?number=410
ErrorDocument 411 /aplicacion/error?number=411
ErrorDocument 412 /aplicacion/error?number=412
ErrorDocument 413 /aplicacion/error?number=413
ErrorDocument 414 /aplicacion/error?number=414
ErrorDocument 415 /aplicacion/error?number=415
ErrorDocument 416 /aplicacion/error?number=416
ErrorDocument 417 /aplicacion/error?number=417
ErrorDocument 422 /aplicacion/error?number=422
ErrorDocument 423 /aplicacion/error?number=423
ErrorDocument 424 /aplicacion/error?number=424
ErrorDocument 500 /aplicacion/error?number=500
ErrorDocument 501 /aplicacion/error?number=501
ErrorDocument 502 /aplicacion/error?number=502
ErrorDocument 503 /aplicacion/error?number=503
ErrorDocument 504 /aplicacion/error?number=504
ErrorDocument 505 /aplicacion/error?number=505
ErrorDocument 506 /aplicacion/error?number=506
ErrorDocument 507 /aplicacion/error?number=507
ErrorDocument 510 /aplicacion/error?number=510


El 403 y 404 por ejemplo funcionan bien, pero el 500 nose porque no.
#196
Buenas noches,
¿Como podría ejecutar esta consulta de una forma constante?

Mark_Disconnected()

Código (php) [Seleccionar]

        function Mark_Disconnected()
{
$timestamp_now = date('Y-m-d H:i:s');
$timestamp_now = strtotime('-15 minutes', strtotime($timestamp_now));
$timestamp_now = date('Y-m-d H:i:s', $timestamp_now);

$con = Connection('A', 'B');
$query = $con->prepare('UPDATE users SET connected = 0, sid = null WHERE connected = 1 AND '.($timestamp_now).' >= last_activity');
$query->execute();
}


La idea es hacerlo sin sockets, una de las soluciones podría ser un timeout de javascript que llama a una función ajax y una vez que se complete la solicitud "success:" se inicia otro timeout con la misma función... No se si esto está bueno o se sobre carga el servidor.

Realmente es algo con lo que estoy renegando hace rato ya.
#197
Buenos días,
¿Qué funciones me recomiendan para poder "limpiar" datos que serán usados en consultas SQL? (Evitar inyecciones SQL)
Uso las consultas "prepare" tengo entendido que ya al usar consultas prepare lo que hace es evitar inyecciones, pero no soy alguien que me guste ahorrar en términos de seguridad.

¿Qué funciones me recomiendan para poder "limpiar" código HTML? (Evitar ataques XSS)

Mi función Clearn_Data($data) la uso siempre tanto cuando guardo datos en las bases de datos (consultas) o cuando voy a expulsar código HTML.

Código (php) [Seleccionar]

function Clearn_Data($data)
{
$data = htmlspecialchars($data);
$data = trim($data);
$data = stripslashes($data);

return $data;
}


En post pasado me dijeron que mi función clearn data no es muy buena que digamos o segura que digamos..el post es de Julio acá se los dejo para poder meterlos en contexto:
https://foro.elhacker.net/php/pregunta_iquestcomo_pasar_utf8_datos_php-t497595.0.html;msg2199671

Gracias.
#198
Buenos días,
básicamente eso.. necesitaba saber como podría detectar cuando un usuario cierra su navegador (no me refiero a cerrar la pestaña), lógicamente esto lo quiero hacer con javascript o JQuery...

Gracias...
#199
Bueno quería saber como puedo acceder a el siguiente resultado que me arroja una consulta SQL

Código (php) [Seleccionar]

$query = $con->prepare('SELECT n.id_notification, u1.name, u2.name FROM notifications n INNER JOIN users u1 ON n.id_emitter = u1.id_user INNER JOIN users u2 ON n.id_user = u2.id_user');


Hice un var_dump a la variable que contiene los resultados que devuelve la consulta.

Código (php) [Seleccionar]

array(1) { [0]=> array(5) { ["id_notification"]=> string(1) "1" [0]=> string(1) "1" ["name"]=> string(6) "Miguel" [1]=> string(5) "Ramon" [2]=> string(6) "Miguel" } }
1


Para intentar a acceder a los dos nombres que se guardan que según entiendo sería así:

Código (php) [Seleccionar]

$results[0]['name'] // Va a devolver 'Miguel'
$results[0][1]['name'] // Esperaba que devuelva Ramon pero devuelve 'R'
$results[0][2]['name'] // Esperaba que devuelva Miguel pero devuelve 'M'


La idea era hacerlo sin tener que usar "AS"
#200
Buenos días
hace 1 mes había publicado un tema donde preguntaba como podía hacer más de un "INNER JOIN" en una misma consulta...
Una de las respuesta que recibí me había servido ya que no me mostraban errores, ni ninguna advertencia pero al testearla dicha consulta no me arroja resultados..

Código (php) [Seleccionar]

SELECT U.id_user, N.id_notification, N.id_emitter, N.id_user FROM users U INNER JOIN notifications N ON U.id_user = N.id_emitter AND U.id_user = N.id_user WHERE N.id_notification = :id_notification


Tema anterior: https://foro.elhacker.net/desarrollo_web/pregunta_inner_join_de_dos_campos-t499302.0.html;msg2204406

Estoy completamente seguro que el problema esta en el INNER JOIN ya que si pruebo la misma consulta quitando algunos de los dos que tengo, es decir que sólo me quede con un solo inner join va a funcionar pero ya cuando agrego dos o más ya no va a traer resultados.

Gracias....
#201
Buenos días,
quería que un usuario sólo tenga una session abierta en la aplicación, no varias, desde otros dispositivos, u otros navegadores, clientes, etcétera...

La lógica para poder hacer esto (Lo encontré por ahí  :xD)

Código (php) [Seleccionar]

Si existe ya un usuario conectado, desconectar a ese usuario, y dejar entrar al nuevo usuario.
- 1) Para cada usuario, mantén el id de sesión en la base de datos.
- 2) Si al hacer login, existe un id de sesión en la base de datos, carga esa sesión , destrúyela, y crea una nueva.
(session_id($id); session_start(); session_destroy();session_start())


¿Como sería esto? Estoy en un bloqueo y no puedo entenderlo..
#202
Desarrollo Web / APLICACIÓN DE 1 AÑO
15 Octubre 2019, 00:57 AM
Buenas noches,
bueno ya va 1 año desde que inicie a trabajar en una aplicación web por allá en febrero me había unido a este foro, en fin.. Se podría decir que ya casi estoy que la termino aunque todavía me falta... no quiero hacer las cosas a las apuradas y que quede todo mal hecho y a medías.

Hubo temas que había publicado sobre problemas que me habían ocurrido mientras desarrollaba, los vuelvo a mencionar ya que todavía necesito de una respuesta... Lógicamente el que me quiera ayudar con al menos responder uno, o más de estos temas se los agradezco mucho y si no, también...


Desde ya les agradezco mucho!




Mod: Arreglado el formato de la lista.
#203
PHP / [Problema]: Sistema anti ataques (CSRF)
15 Octubre 2019, 00:29 AM
Buenas noches,
estaba haciendo el siguiente sistema que la idea sería evitar los ataques CSRF en mi aplicación web...

Código (php) [Seleccionar]

$Token_CSRF = Create_Code();
// La función "Create_Code()" lo que hace es crear un token de 22 caracteres entre ellas números y letras


Luego en el formulario tengo un input de tipo hidden

Código (php) [Seleccionar]

<input type="hidden" name="token_csrf" value="<?php echo($Token_CSRF); ?>">


Luego al enviar el formulario lo que hago es comparar si $_POST['token_csrf'] es igual a $Token_CSRF

Código (php) [Seleccionar]

if($_POST['token_csrf'] == $Token_CSRF)
{
     echo "Función ejecutada correctamente";
}
else
{
      echo "Un posible ataque CSRF fue detectado, vuelva a intentarlo.";
}


El problema es que el valor $Token_CSRF y el $_POST nunca van a ser iguales ya que al enviar el formulario no entiendo por qué razón se cambia o se "recrea" el valor de la variable $Token_CSRF ¿Como podría hacer algo para solucionar esto?
#204
Buenas noches,
Para hacerlo rápido y sencillo de entender digamos que tengo 3 ficheros .php

1. extension.php
2. page.php
3. fichero_ajax.php

En extension tengo:

Código (php) [Seleccionar]

$timestamp = date ('Y-m-d H:i:s');
echo $timestamp;


En page tendria un llamado "require('extensions.php');"
Por tanto en esa pagina imprimiria el timestamp actual...

También habrá un boton que al dar click (por medio de ajax) llamaria a fichero_ajax.php
Que lo que haria sería:

Código (php) [Seleccionar]

require ('extensions.php');

echo $timestamp;


Pero esto no va a mostrar el timestamp actual sino que va a mostrar el timestamp del momento en que se habia cargado la pagina... basicamente necesitaria como recargar el fichero extensions.php como "reincluirlo" por asi decirlo...
#205
Buenas noches,
tengo la carpeta xampp y necesito saber en que parte del mismo se guardan las bases de datos

Solucionado: xampp > mysql > data
#206
Buenas noches,
Quería sabes como podría destruir una session de un usuario en todos los navegadores/clientes...
Por ejemplo en un sistema en el cual cambio mi contraseña voy a querer que mi session se cierre en todos los navegadores...
#207
Buenas noches,

Tenía dos preguntas en relación a el uso de las cookies...
La primera ¿El uso de cookies tiene algún tipo de vulnerabilidades?
La segunda ¿Qué ejemplos me podrían dar donde se usen las cookies?
#208
Buenas noches,
Quería hacer un sistema (ya conocido) donde se muestre con x icono o estado a un usuario que está conectado (sesión iniciada)

Yo haría así: crear un campo en la tabla usuarios que se llame campo de (tipo tyni int) de manera que solo guarde 0 y 1... el 0 desconectado y 1 conectado... cuando inicie sesión el usuario su campo conectado será = 1 y cuando cierre sesión (logout) será = 0

Me parece que esta logica se queda corta... que opinan???
#209
PHP / [Pregunta]: mejorar las $_SESSION'S
7 Octubre 2019, 05:22 AM
Buenas noches,
siempre note que mis $_SESSION no funcionan como las veo en cualquier o generalmente en la demás aplicaciones web, estoy seguro que se deben configurar de alguna manera pero no se cual. Es decir, que una $_SESSION['id_user'] por ejemplo pasado x tiempo de inactividad se cierre esa sesión (sesión expirada), ahora en mi aplicación si una persona cierra su navegador su $_SESSION muere y se cierra, a veces pasa que reinicio mi pc con el xampp quedando prendido y al ratito que inicio otra vez xampp cargo la pagina y ya tengo la sesión iniciada y otras veces no (algo que no me gusta nada, mínimo que se decidan :xD)

Quería saber como corregir estas cosas...
#210
Buenas noches,
estaba buscando la forma de poder hacer que mi aplicación web funcione en tiempo real, básicamente un ejemplo sería un chat, o un sistema de notificaciones que no necesita que el usuario haga una petición sino que de forma automática se ejecute.

Con este dilema estoy hace un rato ya, y es que me encuentro entre dos métodos:

Uno me convence más que otro la verdad...

En primero esta push (no estoy seguro que este método se llame así realmente) y websockets

En push es un poco más sencillo y es eficiente por lo que veo, después están los websockets que bueno ya ahí cuando quiero aprender y busco información ya se empieza a hablar en un lenguaje más tecnico y no se les entiende nada...
Que también se necesita tener una consola continuamente abierta, que esto que aquello, que a la larga según lo veo vas a necesitar un servidor aparte para ejecutar esa consola cuando este en un hosting (aunque no estoy seguro si esto funcione así) ... Que necesitas meterle puertos, y no se cuanta película (No digo que sea un método malo, para nada, estuve investigando y parece ser una muy buena forma) aunque en temas de "instalación" por así decir se queda muy corto...

Este es el vídeo de la tecnología push
https://www.youtube.com/watch?v=b6Z75EnIZTQ&t

Seguramente ya la conozcan, o no, quería leer sus sugerencias sobre esto.
#211
Buenas noches,
no voy a pedir códigos y esas cosas por que de eso me ocupo yo pero si que me encantaría que me pudieran dar una mano con la parte por así decir "teórica" la lógica del sistema.

Se me había ocurrido hacer así:

El usuario tendrá que ingresar una dirección de correo electrónico (Naturalmente la de su cuenta que no puede ingresar porque se olvido su contraseña), luego de esto se le enviará un mail con el código de cambió de contraseña, este código lo que permite es que se pueda editar dicha contraseña...

El código esta compuesto por 20 caracteres numéricos random + 2 letras en mayúsculas random.

Entonces no se si esto es muy seguro, no quiero que tampoco una persona la cual no es dueña de dicha cuenta vaya cambiando de código en código hasta poder acertar para cambiar una contraseña de una cuenta que como ya dije no le pertenece.

¿Cuales son sus sugerencias o tienen alguna lógica mejorada para esto?
#212
PHP / [Pregunta]: 1 error y 1 duda (Mail PHP)
3 Octubre 2019, 21:50 PM
Buenos días,
tenía el siguiente error y la siguiente duda.

Lo primero la duda:
Agregue un botón que al dar click reenviara nuevamente el mail..
[click] -> (Reenviar email) -> AJAX -> fichero.php re envia mail.

La pregunta sería, ¿existe algun tipo de vulnerabilidad en esto? ¿debería hacer una especie de tiempo para que vuelva a reenviar el mensaje? "Espera 1 minuto para volver a reenviar el mensaje" ¿O da igual?

El error que tengo es:
Código (php) [Seleccionar]

:  mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in


De antemano imagino que es porque se intento enviar el mail desde localhost pero no estoy seguro. (Ya se que generalmente no se puede enviar mails desde localhost)

#213
Buenas noches,
me preguntaba que es lo que vendría siendo un X-Mailer en una cabecera de un mail que intento enviar por PHP.

Ayer me pasaron la siguiente cabecera en un tema anterior que había publicado:

Código (php) [Seleccionar]

'From: noreply@email.com' . "\r\n" .
'Reply-To: micorreo@gmail.com' . "\r\n" .
'X-Mailer: ?'.
'MIME-Version: 1.0' . "\r\n".
#214
Buenas noches,
antes de perder la cabeza quería comentarles el problema que estoy teniendo para validar lo siguiente:

La cadena sería (20 números) + (2 letras mayúsculas)

estuve intentando con lo siguiente y otros métodos pero no me sirven:

Código (javascript) [Seleccionar]

form_verify_email.verify_code.value = String(form_verify_email.verify_code.value).replace(/[^0-9]{20}[^A-Z]{21,22}/g, '');
#215
Buenas noches,
cada vez que se carga una pagina lo que hago es verificar que dicho usuario tenga el email verificado en el caso de que no lo tenga lo enviará a x pagina...
Lo hago de la siguiente manera

Código (php) [Seleccionar]

if(users::Check_Email_Verified($_SESSION['id_user']) == false)
{
?>
    <script type="text/javascript">
       window.location.href = 'verify_email';
       </script>
       <?php
}


retorna false si dicho usuario no tiene el correo verificado
retorna true si dicho usuario tiene el correo verificado

Código (php) [Seleccionar]

       function Check_Email_Verified($id_user)
{
$con = Connection('root', '');
$query = $con->prepare('SELECT (email_verified) FROM usuarios WHERE id_user = :id_user');
$query->execute(array(':id_user' => $id_user));
$results = $query->fetchAll();

$result = false;

if(!empty($results))
{
if($results[0]['email_verified'] == 1)
{
$result = true;
}
}

return $result;
}


La alternativa que tenia en mente sería usar una $_SESSION

Código (php) [Seleccionar]

if($_SESSION['email_verified'] == false)
{
    [Redirige a x pagina]
}


No sabría cual debería usar si como lo hago hasta ahora realizando consultas o con una $_SESSION.

¿Cual podría ser la forma más segura y optima de hacer esto?

Muchas gracias
#216
Buenas noches,
Resumiendo: tengo un sistema de registro donde al completar dicho formulario se lo envía a el usuario a una pagina llamada verify_email.php donde se le dirá que se envió un código de verificación a el correo electrónico anteriormente suministrado en el formulario de registro.

habrá un formulario donde podrá ingresar dicho código...
el tema o la duda es al momento de cargar la pagina verify_email ¿debería enviar el mail()?
o ¿debería hacerlo al momento de que el registro se completo? (un momento antes de redirigirlo a verify_email.php) algo así:

mail(tatata);
[enviar a verify_url];

Podría ser todo un dilema, ya que si envió el mail al momento de cargar la pagina verify_email.php cada vez que el usuario actualice la pagina se enviará el mail en cambió si hago que envie el mail un momento antes de redirigirlo a verify_email no esta este problema pero si quiero que haya un botón que diga "Volver a enviar mail" tenia pensado que la función de dicho botón sea recargar la pagina...

La solución para este dilema es enviar el mail un momento antes de redirigir a verify_email.php y el boton "volver a enviar mail" hacer algo con AJAX, escucho sugerencias! :D
#217
Buenas noches,
estaba haciendo un sistema para validar email donde se enviará un correo electrónico con un código de verificación que el usuario deberá enviar por medio de un formulario que este a su vez si el código es correcto validará su email y podrá usar la aplicación...
Ahora sería lógico pensar que a la larga van a quedar cuentas in-activas de usuarios que nunca validaron su dirección de correo, o crearan correos al azar "fasdfas@gmail.com", etcétera... y nunca van a validar estos emails, entonces pensé cual sería la mejor manera para evitar estas cosas.

La solución que se me ocurrió fue no evitarlas, sino que cada x tiempo se borren todas las cuentas de usuarios con el correo sin verificar, pero esto no lo se hacer así que mejor sería que al ir al panel administrativo exista un botón que diga "Eliminar cuentas no verificadas (25)" 25 sería la cantidad de cuentas que no se validaron (Un poco de diseño al botón xD)

¿Cuáles son sus sugerencias?
#218
PHP / [Resuelto] ¿Como enviar un email con PHP?
30 Septiembre 2019, 02:42 AM
Buenas noches,
estuve buscando sobre como podría enviar un email con php y me aparecieron resultados, usando la función mail (https://www.php.net/manual/es/function.mail.php) pero los vídeos que pude ver son básicamente un formulario "Nombre", "Correo", "Asunto", "Mensaje", "Header"

El problema con esto que el email o mensaje que escriban se enviará a un email que yo les ponga y yo quiero lo contrario enviar un email con php a otro usuario con ese email..
Por ejemplo para las problematicas sobre si un usuario se olvida su contraseña voy a necesitar enviar un mensaje a su correo electrónico dandole instrucciones para recuperar su cuenta, lo mismo aplica al validar un email luego de registrarse enviandole un código de verificación a su correo.

También tengo entendido que no se pueden enviar correos si mi aplicación no esta en un hosting..




Mod: Los temas sobre PHP van al subforo de PHP.
#219
Buenas noches,
ya se que los códigos del lado del servidor no pueden ser manipulados por los usuarios... pero de igual manera me quedo una duda y es que si x persona puede imprimir/obtener el valor de una $_SESSION sin que la aplicación la haya mostrado (echo)




Mod: Temas sobre PHP van al subforo de PHP.
#220
Buenos días,
estoy haciendo un input donde se guardará el nombre de una persona y estoy teniendo un problemita, quiero que la primer letra que se ingrese en un input se transforme en mayúscula (ya se que esto es puede hacer luego del lado del servidor con php) pero para mejorar un poquito frontend se me ocurrió hacerlo de esta forma.

Código (javascript) [Seleccionar]

       form_registry.reg_name.addEventListener('keyup', function()
    {
    form_registry.reg_name.value = String(form_registry.reg_name.value).replace(/[^a-zA-ZñÑáéíóúÁÉÍÓÚ]+/g, '');
                form_registry.reg_name.value = form_registry.reg_name.value.substring(0, 1).toUpperCase();
    });


Bueno la primer linea donde se usan las expresiones regulares simplemente es que si el usuario escribe una letra, símbolo, o algo que no sean letras se va a borrar... luego la segunda  dice que la primer letra la transforme en una mayúscula pero no entiendo que puede estar pasando ya que hay como un problema de "compatibilidad" entre las dos lineas...
#221
Buenos días,
anduve buscando sobre como podía hacer un input que sólo se pueda escribir texto y si se escribe un símbolo, o un numero (es decir algo que no sea letra) quisiera que al momento eliminara lo que está mal.

Hasta el momento tengo esto:
Código (javascript) [Seleccionar]

       var form_registry = document.getElementById('form_registry');

    form_registry.reg_name.addEventListener('keypress', function()
    {
    form_registry.reg_name.value = String(form_registry.reg_name.value).replace(/^[a-zA-Z]+$/, '');
    });


aunque la expresión regular es incorrecta ya que se aplica cada vez que sólo hay letras (Una solución sería usar las expresiones regulares para detectar si hay sólo numeros o si hay solo simbolos o los dos aunque no estoy muy seguro sobre si hay más tipo de caracteres, numeros, letras, simbolos, ?, etcétera)

Gracias!...

#222
Buenas noches,
voy a tratar de que este sea el último tema sobre captchas para no aburrirlos más (aunque quien sabe  :xD)
quería preguntarles en que formularios se debe insertar los captchas..
ya que hay diferentes tipos de formularios o al menos 3 (que conozco)
El primero podría ser cuando el usuario debe iniciar sesión (acá no se están creando registros nuevos, sólo iniciando una sesión)
El segundo podría ser un buscador, donde se buscan coincidencias en una base de datos.. (no se crean registros nuevos)
Y el tercero podría ser, un sistema de comentarios, un sistema de registor de usuarios, etcétera (acá si que se estan creando registros y creo yo que si se debería introducir captchas)

¿Cuales son sus opiniones?
#223
Buenas noches,
ayer estaba intentando crear el tipico captcha donde se muestra una imagen con una cadena aleatorio, por ejemplo "KSAX 934" pero supuestamente este método muy seguro que digamos no es, (además que me da errores y aparece todo negro [otro tema]) entonces pensé y pensé que sistema de captcha seguro podría hacer... Una idea que se me ocurrió era generar un valor random del 1 al 99, otro valor random del mismo rango, y otro random del 1 al 2...

entonces sería el primer valor random (A) y el segundo valor random (B)... por último el random de rango de 1 a 2 sería el tipo de operación (1 = suma y 2 = resta)
teniendo eso en cuenta ya podría  hacer el captcha...

Pero al final lo descarte porque no me parecio muy seguro tampoco (y otra que la experiencia del usuario bajaría muchisimo, en lo personal no me gustaría estar haciendo operaciones matematicas cada vez que deseo enviar algo a través de un formulario)

Como último se me ocurrió hacer que el usuario escriba lo que ve en X imagen, es decir ya no serían cadenas aleatorias, sino un dibujo... Un perro, gato, casa, arbol, etcétera..
y que el usuario escriba lo que tiene la foto (algo sencillo pero seguro)

Todavía para hacerlo más seguro se me ocurrió en vez de mostrar una imagen, muestre dos y más arriba diga "Escribe lo que ves en la imagen A" y para otro captcha podría decir "Escribe lo que ves en la imagen B" (sería random)

Quería leer opiniones. sugerencias, y criticas constructivas...

Otra duda que tenía era porque debería ponerse un captcha de strings random en una imagen, aunque me imagino que si estuviera el texto en el html el "atacante" podría simplemente copiarlo (igual nose...)

Gr acias...
#224
Buenas noches,
estaba creando mi propio sistema de captchas y después de ver en blogs y vídeos hice lo siguiente: (Todos al menos los contenidos que pude ver se hace el sistema creando una imagen con php)
El problema es que no me muestra ninguna imagen,, solamente se queda toda la pantalla (ventana de la pagina) en negro con un cuadrito chiquito en el medio con borde blanco.
Intente de 1001 formas pero me sigue mostrando eso:

Código (php) [Seleccionar]

// Crear una imagen de 100*30
$im = imagecreate(100, 30);

// Fondo blanco y texto azul
$fondo = imagecolorallocate($im, 255, 255, 255);
$color_texto = imagecolorallocate($im, 0, 0, 255);

// Escribir la cadena en la parte superior izquierda
imagestring($im, 5, 0, 0, 'Hello world!', $color_texto);

// Imprimir la imagen
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);





Mod: Temas sobre PHP van al subforo de PHP.
#225
Buenas noches,
quería saber como podría validar un correo electrónico usando javascript, para validar emails hago usando PHP con el siguiente código:

Código (php) [Seleccionar]

function Validate_Email($email)
{
$result = false;

if(is_string($email))
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
$result = true;
}
}

return $result;
}


La idea sería hacerlo lo más similar posible a como lo hago con PHP pero bueno tampoco quiero complicarlos...