• 20-01-2024, 03:19:47
    #1
    Merhaba Beyler.

    Simdi google maps api kullaniyorum. google console'dan domain restriction yapabilirim b u sorun degil. Ancak normalde bu API_KEY gizlersem daha iyi olmaz mi ?

    Simdi wordpress uzerinden calisiyorum.

      // Define an array of variables to pass to the JavaScript file
      $api_key = 'AIzaSyBbCZ7R3PcGMXgKadj6nJRR7a8ba6z7BV8';
      $localized_vars = array(
        'api_key' => $api_key,
      );
      // Pass the variables to the JavaScript file
      wp_localize_script("ourmainjs", 'theme_vars', $localized_vars);
    }
    Daha sonra Javascript den veriyi aliyorum.

    <script>
        // Access the localized API key
        const apiKey = theme_vars.api_key;
        // Create a script element
        var script = document.createElement('script');
        script.src = 'https://maps.googleapis.com/maps/api/js?key=' + apiKey + '&libraries=places&callback=initAutocomplete';
        script.async = true;
        script.defer = true;
        document.head.appendChild(script);
    </script>
    Ancak sayfa sag tiklayinca key hala acik acik okunuyor. neden sizce?


    Suan localde calisiyorum ama size addresi icin TIKLAYINIZ
  • 20-01-2024, 03:24:48
    #2
    Foothill adlı üyeden alıntı: mesajı görüntüle
    Merhaba Beyler.

    Simdi google maps api kullaniyorum. google console'dan domain restriction yapabilirim b u sorun degil. Ancak normalde bu API_KEY gizlersem daha iyi olmaz mi ?

    Simdi wordpress uzerinden calisiyorum.

      // Define an array of variables to pass to the JavaScript file
      $api_key = 'AIzaSyBbCZ7R3PcGMXgKadj6nJRR7a8ba6z7BV8';
      $localized_vars = array(
        'api_key' => $api_key,
      );
      // Pass the variables to the JavaScript file
      wp_localize_script("ourmainjs", 'theme_vars', $localized_vars);
    }
    Daha sonra Javascript den veriyi aliyorum.

    <script>
        // Access the localized API key
        const apiKey = theme_vars.api_key;
        // Create a script element
        var script = document.createElement('script');
        script.src = 'https://maps.googleapis.com/maps/api/js?key=' + apiKey + '&libraries=places&callback=initAutocomplete';
        script.async = true;
        script.defer = true;
        document.head.appendChild(script);
    </script>
    Ancak sayfa sag tiklayinca key hala acik acik okunuyor. neden sizce?


    Suan localde calisiyorum ama size addresi icin TIKLAYINIZ

    WordPress ana dizininde bulunan wp-config.php dosyasını açın ve API anahtarınızı şu şekilde tanımlayın:
    define('GOOGLE_MAPS_API_KEY', 'AIzaSyBbCZ7R3PcGMXgKadj6nJRR7a8ba6z7BV8');


    functions.php veya Tema Dosyasında wp_localize_script Kullanma:
    Şimdi, API anahtarınızı JavaScript dosyasına aktarabilirsiniz. Bu işlemi functions.php dosyanıza veya kendi oluşturduğunuz bir tema dosyasına ekleyebilirsiniz.
    Örneğin, functions.php dosyasına şu kodu ekleyebilirsiniz:
    // functions.php dosyasına eklenen kod
    function enqueue_scripts() {
        // API anahtarını al
        $api_key = defined('GOOGLE_MAPS_API_KEY') ? GOOGLE_MAPS_API_KEY : '';
    
        // JavaScript dosyasına API anahtarını aktar
        wp_enqueue_script('ourmainjs', get_template_directory_uri() . '/path/to/your/js/ourmain.js', array('jquery'), null, true);
        wp_localize_script('ourmainjs', 'theme_vars', array('api_key' => $api_key));
    }
    add_action('wp_enqueue_scripts', 'enqueue_scripts');
    JavaScript Dosyasında API Anahtarını Kullanma: Şimdi, JavaScript dosyanızda API anahtarını kullanabilirsiniz. Örneğin, ourmain.js dosyanız şu şekilde olabilir:
    // ourmain.js dosyası
    document.addEventListener('DOMContentLoaded', function() {
        // Access the localized API key
        const apiKey = theme_vars.api_key;
    
        // Create a script element
        var script = document.createElement('script');
        script.src = 'https://maps.googleapis.com/maps/api/js?key=' + apiKey + '&libraries=places&callback=initAutocomplete';
        script.async = true;
        script.defer = true;
        document.head.appendChild(script);
    });
    Bu şekilde, API anahtarınızı güvenli bir şekilde gizleyebilir ve WordPress üzerinden kullanabilirsiniz. Bu kodlarla ilgili herhangi bir hata varsa, WordPress teması ve dosya yapınıza bağlı olarak uygun düzenlemeleri yapabilirsiniz
  • 20-01-2024, 03:29:18
    #3
    ZirveMedia adlı üyeden alıntı: mesajı görüntüle
    WordPress ana dizininde bulunan wp-config.php dosyasını açın ve API anahtarınızı şu şekilde tanımlayın:
    define('GOOGLE_MAPS_API_KEY', 'AIzaSyBbCZ7R3PcGMXgKadj6nJRR7a8ba6z7BV8');
    functions.php veya Tema Dosyasında wp_localize_script Kullanma:
    Şimdi, API anahtarınızı JavaScript dosyasına aktarabilirsiniz. Bu işlemi functions.php dosyanıza veya kendi oluşturduğunuz bir tema dosyasına ekleyebilirsiniz.
    Örneğin, functions.php dosyasına şu kodu ekleyebilirsiniz:
    // functions.php dosyasına eklenen kod
    function enqueue_scripts() {
        // API anahtarını al
        $api_key = defined('GOOGLE_MAPS_API_KEY') ? GOOGLE_MAPS_API_KEY : '';
    
        // JavaScript dosyasına API anahtarını aktar
        wp_enqueue_script('ourmainjs', get_template_directory_uri() . '/path/to/your/js/ourmain.js', array('jquery'), null, true);
        wp_localize_script('ourmainjs', 'theme_vars', array('api_key' => $api_key));
    }
    add_action('wp_enqueue_scripts', 'enqueue_scripts');
    JavaScript Dosyasında API Anahtarını Kullanma: Şimdi, JavaScript dosyanızda API anahtarını kullanabilirsiniz. Örneğin, ourmain.js dosyanız şu şekilde olabilir:
    // ourmain.js dosyası
    document.addEventListener('DOMContentLoaded', function() {
        // Access the localized API key
        const apiKey = theme_vars.api_key;
    
        // Create a script element
        var script = document.createElement('script');
        script.src = 'https://maps.googleapis.com/maps/api/js?key=' + apiKey + '&libraries=places&callback=initAutocomplete';
        script.async = true;
        script.defer = true;
        document.head.appendChild(script);
    });
    Bu şekilde, API anahtarınızı güvenli bir şekilde gizleyebilir ve WordPress üzerinden kullanabilirsiniz. Bu kodlarla ilgili herhangi bir hata varsa, WordPress teması ve dosya yapınıza bağlı olarak uygun düzenlemeleri yapabilirsiniz
    Sagol. artik aksama deniyecem dediginiz yontemi. boymuma kramp girdi. simdi bu google api larini kullanirsak, domain restrictions yapilamiliyor google console uzerinden. ama yinede gizlemek sart mi ?

    Birde ben wp-config.php de degilde. config.php dosyasi olusturdum. o dosyanin icinde DEFINE yaptim. suan icin javascript icinde key kullanmada sorun yok. sadece sayfa kaynagina bakinca api key gizli degil
  • 20-01-2024, 03:31:51
    #4
    Foothill adlı üyeden alıntı: mesajı görüntüle
    Sagol. artik aksama deniyecem dediginiz yontemi. boymuma kramp girdi. simdi bu google api larini kullanirsak, domain restrictions yapilamiliyor google console uzerinden. ama yinede gizlemek sart mi ?
    Öncelikle gizlemek şart değil fakat Google Maps API anahtarını gizlemenin temel nedeni, anahtarın sayfa kaynak kodunda açıkça görünmesini önlemektir. Eğer API anahtarınız sayfa kaynak kodunda açıkça görünüyorsa, kötü niyetli kullanıcılar tarafından kötü amaçlarla kullanılabilir ve bu da faturalarınızın yükselmesine veya hizmetinizi kötüye kullanmalarına neden olabilir.
  • 20-01-2024, 03:33:17
    #5
    ZirveMedia adlı üyeden alıntı: mesajı görüntüle
    Öncelikle gizlemek şart değil fakat Google Maps API anahtarını gizlemenin temel nedeni, anahtarın sayfa kaynak kodunda açıkça görünmesini önlemektir. Eğer API anahtarınız sayfa kaynak kodunda açıkça görünüyorsa, kötü niyetli kullanıcılar tarafından kötü amaçlarla kullanılabilir ve bu da faturalarınızın yükselmesine veya hizmetinizi kötüye kullanmalarına neden olabilir.
    Aynen. peki console'dan domain restrictions yapsak yine mi kotu amacli kullanicilar faturaya etki edebilir?

    birde neden wp-config.php icinden DEFINE (KEY ) yapiyoruz?

    js icinden theme_vars dan direk cekemezmiyiz?
  • 20-01-2024, 03:35:13
    #6
    Foothill adlı üyeden alıntı: mesajı görüntüle
    Aynen. peki console'dan domain restrictions yapsak yine mi kotu amacli kullanicilar faturaya etki edebilir?

    birde neden wp-config.php icinden DEFINE (KEY ) yapiyoruz?

    js icinden theme_vars dan direk cekemezmiyiz?
    Hocam direkt ChatGPT'ye yazın, arkadaş oraya sizin yerinize yazıp cevap veriyor
  • 20-01-2024, 03:36:26
    #7
    utgard adlı üyeden alıntı: mesajı görüntüle
    Hocam direkt ChatGPT'ye yazın, arkadaş oraya sizin yerinize yazıp cevap veriyor

    Dostum chatgpt ile calisiyorum zaten. Webpack kullaniyorum belki o yuzden localde sorun veriyor.


    zaten form 600 satir sadece javascript
  • 20-01-2024, 09:09:48
    #8
    Consolda api keyin hangi domainlerden gelen isteklere cevap vereceğini kısıtlayabiliyorsunız. Kısıtlama yapmadan kullanmayın. Sitelerdeki api keyleri toplayıp açık olup olmadıını kontrol eden toplayıcılar var.
  • 20-01-2024, 10:56:29
    #9
    ZirveMedia adlı üyeden alıntı: mesajı görüntüle
    Öncelikle gizlemek şart değil fakat Google Maps API anahtarını gizlemenin temel nedeni, anahtarın sayfa kaynak kodunda açıkça görünmesini önlemektir. Eğer API anahtarınız sayfa kaynak kodunda açıkça görünüyorsa, kötü niyetli kullanıcılar tarafından kötü amaçlarla kullanılabilir ve bu da faturalarınızın yükselmesine veya hizmetinizi kötüye kullanmalarına neden olabilir.
    Ustad, dedigini yaptim ama wp_localize kullaninca kaynak kodunca bisey gozukuyor.
    Bu normal degil sanirim.

    https://ibb.co/pWbddPs


    Edit: ChatGpt Hosta atinca dosyalari key acikta gorunmez diyor. bakalim.