You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

captcha-imh-component

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

captcha-imh-component

A reusable React captcha-imh-component with customizable API calls, styling, and error handling.

1.0.2
latest
Source
npmnpm
Version published
Weekly downloads
7
-96.48%
Maintainers
1
Weekly downloads
 
Created
Source

captcha-imh-component

Un composant React réutilisable pour l'intégration de CAPTCHA dans vos applications web.

Installation

npm install captcha-imh-component

Utilisation de base

import React, { useState } from 'react';
import Captcha from 'captcha-imh-component';

function App() {
  const [captchaValue, setCaptchaValue] = useState('');
  const [reset, setReset] = useState(false);

  const handleCaptchaChange = (value) => {
    setCaptchaValue(value);
  };

  const handleReset = () => {
    setReset(!reset);
  };

  return (
    <div>
      <Captcha 
        onChange={handleCaptchaChange}
        reset={reset}
      />
      <button onClick={handleReset}>Reset CAPTCHA</button>
      <p>Valeur saisie: {captchaValue}</p>
    </div>
  );
}

export default App;

Props

PropTypeDéfautDescription
resetbooleanfalseForce le rechargement du CAPTCHA
onChangefunction-Callback appelé quand la valeur d'entrée change
onCaptchaTextChangefunction-Callback appelé quand le texte CAPTCHA change
styleobject{}Styles pour l'icône de rafraîchissement
errorobject-Objet d'erreur à afficher
apiEndpointstring'/api/generate-captcha'URL de l'API CAPTCHA
httpMethodstring'GET'Méthode HTTP pour l'API
placeholderstring'Entrer CAPTCHA'Placeholder du champ de saisie
makeApiCallfunction-Fonction personnalisée pour les appels API
sessionStorageKeystring'sessionId'Clé de stockage pour l'ID de session
captchaStorageKeystring'captcha'Clé de stockage pour le texte CAPTCHA
inputStyleobject{}Styles personnalisés pour le champ de saisie
containerStyleobject{}Styles personnalisés pour le conteneur
imageStyleobject{}Styles personnalisés pour l'image CAPTCHA
ErrorComponentcomponent-Composant personnalisé pour l'affichage des erreurs

Exemples avancés

Avec fonction API personnalisée

import Captcha from 'captcha-imh-component';

const customApiCall = async (method, url, data, headers) => {
  // Votre logique d'appel API personnalisée
  const response = await fetch(url, {
    method,
    headers: {
      ...headers,
      'Authorization': 'Bearer your-token'
    },
    body: data ? JSON.stringify(data) : undefined
  });
  return response.json();
};

function App() {
  return (
    <Captcha 
      makeApiCall={customApiCall}
      apiEndpoint="https://your-api.com/captcha"
    />
  );
}

Avec composants personnalisés

import Captcha from 'captcha-imh-component';

const CustomError = ({ error, message }) => (
  <div className="custom-error-display">
    {error?.data?.detail && <span>{message}</span>}
  </div>
);

function App() {
  return (
    <Captcha 
      errorComponent={CustomError}
    />
  );
}

Avec styles personnalisés

import Captcha from 'captcha-imh-component';

function App() {
  const customStyles = {
    container: {
      backgroundColor: '#f5f5f5',
      padding: '20px',
      borderRadius: '8px'
    },
    input: {
      fontSize: '16px',
      fontFamily: 'Arial, sans-serif',
      border: '2px solid #007bff'
    },
    image: {
      border: '1px solid #ddd',
      borderRadius: '4px'
    }
  };

  return (
    <Captcha 
      containerStyle={customStyles.container}
      inputStyle={customStyles.input}
      imageStyle={customStyles.image}
    />
  );
}

Format de réponse API attendu

Le composant attend une réponse API dans l'un des formats suivants :

Pour CAPTCHA image :

{
  "data": {
    "image": "base64-encoded-image-string",
    "sessionId": "session-identifier"
  }
}

Pour CAPTCHA texte :

{
  "data": {
    "captchaText": "text-captcha-content",
    "sessionId": "session-identifier"
  }
}

Personnalisation CSS

Le composant utilise les classes CSS suivantes que vous pouvez personnaliser :

  • .captcha-container - Conteneur principal
  • .captcha-image-container - Conteneur de l'image
  • .captcha-image - Image CAPTCHA
  • .captcha-input-container - Conteneur du champ de saisie
  • .captcha-input - Champ de saisie
  • .captcha-error - Affichage des erreurs

Dépendances

  • React >= 16.8.0
  • react-dom >= 16.8.0

Licence

ISC

Contribution

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou soumettre une pull request.

Keywords

react

FAQs

Package last updated on 07 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts