elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 61
71  Programación / Desarrollo Web / Re: [Error]: Google siempre rompe pelotas nunca "in-rompe pelotas" en: 6 Julio 2020, 02:04
Voy a revisar eso, si hay mejores maneras... pero voy poco a poco...
72  Programación / Desarrollo Web / [Error]: Google siempre rompe pelotas nunca "in-rompe pelotas" en: 3 Julio 2020, 09:04
Hola!

estaba usando hace unos meses PHPMailer para el envío automático de mensajes por correo electrónico y google (que se había tardado) comenzó a romper las pelotas bloqueando la aplicación... La volví a activar a la aplicación y después de unas semanas me encuentro que la bloqueó otra vez...

No puedo estar a cada rato revisando si google bloquea la aplicación o no...

¿Existe una alternativa de una aplicación "más segura"? ¿Qué puedo hacer?
73  Programación / Desarrollo Web / [Pregunta]: Optimización de una consulta. en: 3 Julio 2020, 05:14
Buenas noches,

básicamente tengo una consulta que llama de una base de datos todos los registros, generalmente uso este tipo de consultas para obtener la cantidad total y no para otra cosa, que tampoco hago un foreach (recorro cada dato) imaginensen 75,000 registros... me explota la computadora y de paso el servidor  :xD

por ejemplo..
Código
  1. $cantidad_total = count(registros::Todos());
  2. echo 'En total hay '.($cantidad_total).' registros!';
  3.  

¿Habrá algún problema si un día hay 500,000 registros u obviamente muchos más?
74  Programación / Desarrollo Web / Re: [Pregunta]: ¿Como puedo hacer esto equivalente con javascript? en: 1 Julio 2020, 13:51
Generalmente no tiene nada de malo utilizar librerías de terceros. Te ahorras tiempo, dolores de cabeza, y casos en los que no has pensado. Por ejemplo, enla funcion PHP que muestras, que pasa si le paso un string como este:

<p>http://google.com</p>

Te va a devolver esto:

Código
  1. <p><a target="_blank" href="http://google.com</p>">http://google.com</p></a>

Lo cual obviamente esta rotisimo... E incluso no tenemos que ir tan lejos, basta con que el texto incluya comillas:

Puedes leer más sobre tortugas en "https://es.wikipedia.org/wiki/Testudines"

Código
  1. Puedes leer más sobre tortugas en "<a target="_blank" href="https://es.wikipedia.org/wiki/Testudines"">https://es.wikipedia.org/wiki/Testudines"</a>

Ahí rompes todo el HTML con una simple camilla doble. Ya que usas ReGeX, te puedes asegurar de capturar solo lo que consideraríamos como una URL valida.

https://regexr.com/3e6m0

Eso sacado de StackOverflow con más de 600 votos.. Y aun así, no es válido porque no aceptaría dominios perfectamente válidos como:

https://hello.amsterdam/
https://barça.cat
http://ñoño.com


Porque limita el TLD a un máximo de 6 caracteres y solo espera a-z sin caracteres UTF-8. Tampoco acepta todo mayúsculas...

Código:
((http|https)\:\/\/)?[\w0-9\-\.]{1,255}\.[\w]{2,63}(\/[\w_\.\/\#]*)?

Este más o menos cumple con su cometido... Aunque si no lleva http/https delate, habría que ponerlo y eso implica comprobar antes de hacer el replace. En PHP seria algo así:

Código
  1. function makeLinks(string $string): string
  2. {
  3.    $regex = '/((http|https)\:\/\/)?[\w0-9\-\.]{1,255}\.[\w]{2,63}(\/[\w_\.\/\#]*)?/iu';
  4.    $links = preg_match_all($regex, $string, $output);
  5.  
  6.    foreach ($output[0] as $link) {
  7.        $url = strtolower($link);
  8.  
  9.        // Comprobar si empieza por http/https
  10.        if (strpos($url, 'http://') !== 0 && strpos($url, 'https://') !== 0) {
  11.            $url = 'http://' . $url;
  12.        }
  13.  
  14.        // Creamos un enlace valido manteniendo el formato original.
  15.        $anchor = sprintf('<a href="%s" target="_blank">%s</a>', $url, $link);
  16.        $string = str_replace($link, $anchor, $string);
  17.    }
  18.  
  19.    return $string;
  20. }


Donde un texto como este:

Puedes leer más sobre tortugas en "https://es.wikipedia.org/wiki/Testudines" y para todo lo demás google.com

Se convierte en esto:

Código
  1. Puedes leer más sobre tortugas en "<a href="https://es.wikipedia.org/wiki/testudines" target="_blank">https://es.wikipedia.org/wiki/Testudines</a>" y para todo lo demás <a href="http://google.com" target="_blank">google.com</a>


Ahora, en javascript hay un problema enorme, hasta ES6 javascript no tenía soporte para unicode en regex. Ende, no podemos utilizar el importantísimo flag /u (unicode) y por lo tanto, no podemos targetear dominios como ñoño.com sin añadir parafernalias como \0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF]) . Hay 3 opciones, o nos saltamos los dominios unicode... no muy recomendable, o solo soportamos navegadores con ES6 (tampoco muy recomendable) o toca transpilar ( https://github.com/mathiasbynens/regexpu )  y con suerte sacar algo funcional…

Yo este paso me lo salto y voy a quitarme unicode de por medio, más que nada para ahorrar tiempo:

Código
  1. function makeLinks(string) {
  2.    var regex = /((http|https)\:\/\/)?[\w0-9\-\.]{1,255}\.[\w]{2,63}(\/[\w_\.\/\#]*)?/ig;
  3.    var output = string.match(regex);
  4.  
  5.    if (!output || output.length < 1) {
  6.        return string;
  7.    }
  8.  
  9.    for (var i = 0, t = output.length; i < t; ++i) {
  10.        var link = output[i];
  11.        var url  = link.toLowerCase();
  12.  
  13.        if (!/^https?:\/\//.test(url)) {
  14.            url = 'http://' + url;
  15.        }
  16.  
  17.        var anchor = '<a href="' + url + '" target="_blank">' + link + '</a>';
  18.        string = string.replace(link, anchor);
  19.    }
  20.  
  21.    return string;
  22. }

Con ES6 quedaría un poco más bonito:

Código
  1. function makeLinks(string) {
  2.    const regex = /((http|https)\:\/\/)?[\w0-9\-\.]{1,255}\.[\w]{2,63}(\/[\w_\.\/\#]*)?/ig;
  3.    const output = string.match(regex);
  4.  
  5.    if (!output || output.length < 1) {
  6.        return string;
  7.    }
  8.  
  9.    output.forEach((link) => {
  10.        let url = link.toLowerCase();
  11.            url = (!/^https?:\/\//.test(url) ? `http://${url}` : url);
  12.  
  13.        string = string.replace(link, `<a href="${url}" target="_blank">${link}</a>`);
  14.    });
  15.  
  16.    return string;
  17. }


Código
  1. console.log(makeLinks('Puedes leer más sobre tortugas en "https://es.wikipedia.org/wiki/Testudines" y para todo lo demás google.com'));


Y todo esto, te lo puedes ahorrar con:

Código
  1. <script src="linkify.min.js"></script>
  2. <script src="linkify-html.min.js"></script>
  3. <script>
  4.    console.log(linkifyHtml('Puedes leer más sobre tortugas en "https://es.wikipedia.org/wiki/Testudines" y para todo lo demás google.com', {
  5.        className: '',
  6.        defaultProtocol: 'http'
  7.    }));
  8. </script>

... pero no quieres usar librerías de terceros xD


Saludos

jaja me encanta como me decis al final "pero no quieres usar librerias de terceros" jaja... no, el tema es que las liberias de terceros (no se si todas) te ofrecen más cosas de las que quizás en mi proyecto necesito... yo se que jquery es una libreria de terceros que ofrece más cosas por ahí que yo vaya a necesitar pero es diferente... veo que es muy engorroso esto de detectar una url plana y pasarla a html y no me va a quedar de otra que usar linkify xD pero no porque no use... uso si no hay más remedio.. GRACIAS! xD
75  Programación / Desarrollo Web / Re: [Pregunta]: ¿Como puedo hacer esto equivalente con javascript? en: 1 Julio 2020, 09:23
Muchas gracias! ya había escuchado de linkify pero por lo general no me gusta usar librerías de terceros, no digo que no lo haga pero si puedo evitarlo mucho mejor.
76  Programación / Desarrollo Web / [Pregunta]: ¿Como puedo hacer esto equivalente con javascript? en: 30 Junio 2020, 02:27
Tengo una función php que recibe un parámetro que es una cadena cualquiera, lo que va hacer es que toda esa cadena va a detectar urls planas y las va a poner en html... Hasta acá todo va perfecto, el problema está al tratar de pasarla a js... No me llevo muy bien con las expresiones regulares y ese tipo de cosas... estuve viendo otras funciones pero son muy diferentes y terminan teniendo algún error...

Código
  1. function Convert_Content($string)
  2. {
  3.    $result = preg_replace('/((http|https|www)[^\s]+)/', '<a target="_blank" href="$1">$0</a>', $string);
  4.   $result = preg_replace('/href=\"www/', 'href="http://www', $result);
  5.  
  6.   return $result;
  7. }
  8.  
77  Programación / Desarrollo Web / Re: Problema con botones y los input. en: 25 Junio 2020, 06:49
Lo que está pasando es que le estas poniendo una clase a un botón "botoncito" hasta ahí vamos bien, pero después hace esto...

Código
  1. .botoncito button {
  2.    // [...]
  3. }
  4.  
  5. // Simplemente hace
  6. .botoncito {
  7.    // [...]
  8. }
  9.  
78  Programación / Desarrollo Web / Re: Recuperar datos de una tabla a un formulario en: 23 Junio 2020, 14:53
Hola!

https://www.youtube.com/watch?v=IHVQX52W-LQ

Recorda que una cosa en jquery es .html y otra es .append

con .html lo que hace es como setear el html de un elemento... reemplazarlo...
pero con append lo que se hace es agregar html a un elemento, no reemplaza agrega al final...

por ejemplo,

en un buscador dinámico te va a convenir usar .html
pero en un sistema donde al hacer scroll muestre más resultados sobre algo, ya te conviene usar append...

Mira el vídeo y me vas a entender un poco mejor capaz  :xD
79  Programación / Desarrollo Web / Re: loguearse a mi pagina usando cuenta de facebook en: 23 Junio 2020, 14:47
Yo iba a hacer eso pero al final me arrepentí, no se mucho sobre el tema porque en su momento no llegué a revisarlo muy a fondo...

https://developers.facebook.com/docs/facebook-login/web/login-button?locale=es_ES

https://developers.facebook.com/products/facebook-login/
80  Programación / Desarrollo Web / Re: [Pregunta]: ¿Una forma eficiente de hacer algo como esto? en: 16 Junio 2020, 00:16
Estaba pensando en hacerlo con una consulta SQL,
no se si se podrá, que dicha consulta diga de agregar una notificación a todos los usuarios registros en lugar de usar un for en php, no se si será el mismo gasto la verdad...
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 61
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines