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

#1
Tengo la siguiente situación: estoy usando un datalist en un formulario, pero en el caso específico de las iPad y iPhone, el datalist deja de funcionar siempre que el teclado está presente. El problema es que cuando me muestra el dato que quiero y lo selecciono para que se pase al input, no realiza la acción. A continuación, les dejo mi código para ver si me pueden ayudar.

Gracias

En el Html

Código: text
<input type="text" name="autorizacion" list="idauto" class="input-block-level" placeholder="Autorización" value="<?php echo input_post('autorizacion') ?>" required>

En el Javascript

 
Código: text
 var inputs = document.querySelectorAll('input[list]');

inputs.forEach(function(input) {
    input.addEventListener('input', function(e) {
        var optionFound = false;
        var datalist = this.list;
        
        for (var j = 0; j < datalist.options.length; j++) {
            if (this.value == datalist.options[j].value) {
                optionFound = true;
                break;
            }
        }
        
        if (optionFound) {
            this.setCustomValidity('');
        } else {
            this.setCustomValidity('Por favor, selecciona una opción válida.');
        }
    });
});

En el php

 
Código: text
 if (!function_exists('get_selectarrayinput')) {
    function get_selectarrayinput($array = array(), $id_list = '')
    {
        if ($array != '') {
            $datos = '<datalist id="' . $id_list . '">';
            foreach ($array as $key => $value) {
                $datos .= '<option value="' . $value . '">';
            }
            $datos .= '</datalist>';
        }
        return $datos;
    }
}
#2
Marketing digital / Api de Whatsapp de tercero
Abril 02, 2024, 03:04:51 PM
Hola,

En ocasiones, necesitamos integrar el envío de mensajes de WhatsApp en nuestro sistema, pero nos enfrentamos a la complejidad de la API propia de WhatsApp. Por ello, resulta más conveniente utilizar una API de terceros. Sin embargo, nos encontramos con el problema de los costos adicionales asociados a los números utilizados, además del costo de los mensajes enviados. Afortunadamente, existe una API que nos permite enviar mensajes utilizando nuestro propio número de teléfono, sin importar el país en el que nos encontremos. Esta API es la de Weboxapp (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta).
Entre las ventajas que ofrece esta API, podemos destacar el hecho de que podemos utilizar un número local y que ofrece el envío de 100 mensajes de forma gratuita cada mes. No obstante, una desventaja a considerar es que depende de WhatsApp Web y Google Chrome para funcionar correctamente.

Gracias
#3
Dudas y pedidos generales / Re:Curso qarmy
Marzo 15, 2024, 12:50:46 PM
Hola, son dos preguntas la primera en la página  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta en la sección de cursos ahí los puedes ver todos y la segunda pregunta ya te la contestaron a finales de mes puedes ver la revista.
#4
Dudas y pedidos generales / Re:Puertos abiertos
Marzo 14, 2024, 12:42:45 PM
Hola, las explicaciones anteriores son muy completas pero si quieres mejorar aún más la seguridad de tu web coloca un proxi inverso.

Gracias
#5
Hola,  no es muy recomendable usar un  hosting gratuito para producción de un proyecto por un tema de la disponibilidad. Pero en caso que lo quieras para empezar te recomiendo: "instafree"
#6
en el foro hay varios videos del curso de QArmy No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#7
Hola, ya logre disminuir el tiempo de carga y el problema lo tenia en la versión de php que estaba usando. EL servidor por defecto tiene 7.4 y al bajarlo a la 7.1 el tiempo de carga se redujo de 17 s a 3.9 s. 
#8
Tengo la siguiente situación: tengo un sistema hecho con codeingter que me está cargando muy lenta la página en mi servidor online. La comparación la estoy haciendo con mí servidor local que es un xampp con mariadb de base de datos, contra mi servidor en línea que es dedicado y tienes instalado un plesk con mariadb de base de datos. La diferencia de la carga del servidor local al online es de casi 5 segundos.

Haciendo pruebas, compre que la lentitud se me produce en la consulta SQL si quito la ejecución de la consulta la página en el servidor online me carga super rápido. Tengo colocados todos los index en las tablas del servidor, en cuanto a las relaciones pero ni aun así logro que la cargar del servidor online sea igual o parecida a la del servidor local. A continuación le dejo la consulta para ver si me pueden ayudar.

Gracias.

Código: text

SELECT `contrato`.`id`, `contrato`.`n_contrato`, `cliente`.`tipoc`, `cliente`.`nombremp`, `cliente`.`nombre` AS cnombre, `cliente`.`apellidos` AS capellidos, `fiador`.`nombre` AS fnombre, `fiador`.`apellidos` AS fapellidos, `promotor`.`nombrecorto` AS prnombrecorto, `promotor`.`nombre` AS prnombre, `promotor`.`apellidos` AS prapellidos, `contrato`.`f_firma`, `contrato`.`f_final`, `contrato`.`f_revicion`, `contrato`.`importe`, `contrato`.`facimporte`, `inmueble`.`nombre` AS inmuebles, `inmueble`.`direccion` AS idireccion, `inmueble`.`id` AS idinmueble, `propietario`.`nombrecorto` AS pnombrecorto, `propietario`.`nombre` AS pnombre, `propietario`.`apellidos` AS papellidos, `documentos`.`ruta_doc`, `documentos`.`iddrive`, `cliente`.`rutap_doc` AS rutac, `fiador`.`rutap_doc` AS rutaf, `propietario`.`rutap_doc` AS rutap, `promotor`.`rutap_doc` AS rutapr, `contrato`.`id_documento`, `contrato`.`id_promotor`, `contrato`.`id_cliente`, `contrato`.`id_fiador`, `contrato`.`vencido`, DATE_FORMAT(f_firma, ' %d-%m-%Y') AS ffirma, DATE_FORMAT(f_final, ' %d-%m-%Y') AS ffinal, DATEDIFF(f_final, CURDATE()) AS dia, DATEDIFF(f_revicion, CURDATE()) AS diar
FROM (`contrato` LEFT JOIN cliente ON contrato.id_cliente = cliente.id LEFT JOIN fiador ON contrato.id_fiador = fiador.id LEFT JOIN promotor ON contrato.id_promotor = promotor.id LEFT JOIN documentos ON contrato.id_documento = documentos.id LEFT JOIN inmueble ON contrato.id_inmueble = inmueble.id LEFT JOIN propietario ON inmueble.id_propietario = propietario.id)
WHERE `vencido` =  '2'
ORDER BY `n_contrato` ASC, `inmuebles` ASC, `f_final` ASC, `f_final` ASC, `importe` ASC
LIMIT 20
#9
Hola, tengo la siguiente situación: necesito aplicar un filtro aun consulta que llena una tabla la cual tiene un paginado.  Los datos del formulario son 7, estos se pueden seleccionar todos o solo algunos. El where lo puedo conformar sin problema y pasarlo a la consulta para que me muestre el resultado que deseo, el problema se me presenta cuando hago el paso de página, ya que el valor de la variable del where se me pierde y el formulario se resetea.

Gracias
#10
Hola,  quiero compartir con ustedes un pequeño tic, para que tu servidor de correo no sea reconocido como un servidor de envío Spam. Para evitar esto, tienes que tener en tu dns los siguientes registro: spf (TXT), _dmarc (TXT) , dkim (TXT) y la zona en reversa de tu dns bien configurada. En siguiente link que dejo a continuación, se pueden apoyar para la creación de estos registros  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Gracias.
#11
El error se me esta, en el servidor de producción que es un plesk. Esa misma configuración en el servidor local esta sin problema.
Gracias
#12
Hola buenas tarde, estoy presentado problema con el envío de correo desde mi servidor,  cuando envío algún correo a cualquier cuenta de gmail o hotmail me lo reporta como spam. Tengo configurada la zona en reversa de mi dns y el _dmarc en el dns y aun así me sigue pasando. En No tienes permitido ver los links. Registrarse o Entrar a mi cuenta cuando hago la verificación de las blacklist solo me reporta dos: UCEPROTECTL2 y UCEPROTECTL3, cuando busco en internet me dicen que es por el segmento de red en que estoy y lo consideran spam. Mi pregunta existe alguna forma de solucionar este problema que no sea cambiar la ip del servidor.

Gracias 
#13
Hola buenas tardes, gracias por la respuesta. Coloque el proyecto en mi servidor local y sin problema me trabaja pero cuando lo coloco en el servidor en de producción me produce el siguiente error:

Código: text


Server Error
403
Forbidden
You do not have permission to access this document.



Este error se me esta produciendo cuando me hace la redirección a la página oauth2callback.php que la tengo junto al index.php en la raíz del sitio.

Gracias
#14
Muchas gracias por la respuesta. Ya coloque y si ya tengo el código de generación del token pero cuando le doy generar me envía el siguiente error:

Código: text
Error 400: redirect_uri_mismatch
The redirect URI in the request, http://cuadernos.abcmultimedia.mx/index.php, does not match the ones authorized for the OAuth client. To update the authorized redirect URIs, visit: https://console.developers.google.com/apis/credentials/oauthclient/586532968270-kv4shhltse4urcaqd86tin655seem08r.apps.googleusercontent.com?project=586532968270


Tengo definida la uri en el proyecto de google  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Gracias
#15
Hola a todos, estoy presentando este error, cuando trato de crear el token de mi api de gloogle drive :

Error:
Código: php
PHP Fatal error:  Uncaught InvalidArgumentException: missing the required redirect URI in /var/www/vhosts/abcmultimedia.mx/cuadernos.abcmultimedia.mx/lib/gdriver/vendor/google/auth/src/OAuth2.php:675
Stack trace:
#0 /var/www/vhosts/abcmultimedia.mx/cuadernos.abcmultimedia.mx/lib/gdriver/vendor/google/apiclient/src/Client.php(396): Google\Auth\OAuth2->buildFullAuthorizationUri(Array)
#1 /var/www/vhosts/abcmultimedia.mx/cuadernos.abcmultimedia.mx/lib/gdriver/uploaddriver.php(36): Google\Client->createAuthUrl()
#2 /var/www/vhosts/abcmultimedia.mx/cuadernos.abcmultimedia.mx/lib/gdriver/uploaddriver.php(60): getClient()
#3 {main}
  thrown in /var/www/vhosts/abcmultimedia.mx/cuadernos.abcmultimedia.mx/lib/gdriver/vendor/google/auth/src/OAuth2.php on line 675


Código

Código: php
function getClient()
{
    $client = new Google_Client();
    $client->setApplicationName('Google Drive API PHP Quickstart');
    $client->setScopes(Google_Service_Drive::DRIVE);
    $client->setAuthConfig('credentials.json');
    $client->setAccessType('offline');
    $client->setPrompt('select_account consent');

    // Load previously authorized token from a file, if it exists.
    $tokenPath = 'token.json';
    if (file_exists($tokenPath)) {
        $accessToken = json_decode(file_get_contents($tokenPath), true);
        $client->setAccessToken($accessToken);
    }

    // If there is no previous token or it's expired.
    if ($client->isAccessTokenExpired()) {
        // Refresh the token if possible, else fetch a new one.
        if ($client->getRefreshToken()) {
            $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
        } else {
            // Request authorization from the user.
            $authUrl = $client->createAuthUrl();
            printf("Open the following link in your browser:\n%s\n", $authUrl);
            print 'Enter verification code: ';
            $authCode = trim(fgets(STDIN));

            // Exchange authorization code for an access token.
            $accessToken = $client->fetchAccessTokenWithAuthCode($authCode);
            $client->setAccessToken($accessToken);

            // Check to see if there was an error.
            if (array_key_exists('error', $accessToken)) {
                throw new Exception(join(', ', $accessToken));
            }
        }
        // Save the token to a file.
        if (!file_exists(dirname($tokenPath))) {
            mkdir(dirname($tokenPath), 0700, true);
        }
        file_put_contents($tokenPath, json_encode($client->getAccessToken()));
    }
    return $client;
}


La ejecución del script, la estoy haciendo desde la linea de comando.

Gracias
#16
Dudas y pedidos generales / Problema con xss
Abril 27, 2021, 07:22:05 PM
Tengo la siguiente situación, tengo una función para evitar a taques xss por $_POST en php pero haciendo un escaneo de prueba me arroja que soy vulnerable a continuación le dejo el código para ver si me pueden ayudar.

Código: text
	function input_post($campo){
if(isset($_POST[$campo])){
return htmlspecialchars($_POST[$campo], ENT_QUOTES, 'UTF-8');
}else{
return NULL;
}
}