CodeBlanks Logo Icon CodeBlanks

Özet - Güvenlik

obfuscation, API key ve pinning'i birleştirerek güvenli bir uygulama yazarsın.

Özet - Güvenlik

Bu grupta obfuscation, API key güvenliği, certificate pinning, anti-tamper ve secure coding'i gördün. Güvenlik katmanlıdır: obfuscation kodu gizler, env key'i taşır, pinning trafiği korur, anti-tamper cihazı denetler, secure coding saldırı yüzeyini küçültür.

Son derste iki birleştirme görevi yazacaksın: birincisi obfuscation + API key ayarını app.json'a ekler, ikincisi girdi doğrulama fonksiyonunu bir bileşene bağlar. Böylece güvenlik katmanlarının nasıl bir araya geldiğini göreceksin.

Uygulama Güvenlik ayarlarını birleştir

Bir app.json iskeletine iki güvenlik ayarı ekle: "jsEngine": "hermes" ve "extra": { "apiKey": "placeholder" }. Her ikisi de "expo" bölümü içinde olsun.

Başlangıç kodu

App.js
{
  "expo": {
    "name": "Uygulama"
    // jsEngine ve extra ayarlarını buraya ekle
  }
}

Örnek çözüm

App.js
{
  "expo": {
    "name": "Uygulama",
    "jsEngine": "hermes",
    "extra": {
      "apiKey": "placeholder"
    }
  }
}

Uygulama Doğrulamayı bileşene bağla

Bir EmailInput bileşeni yaz. Bir validateEmail fonksiyonu tanımla (regex ile). TextInput'un onChangeText'inde girilen metni doğrula; sonuç valid state'ine yazsın.

Başlangıç kodu

App.js
import React, { useState } from 'react';
import { TextInput, View } from 'react-native';

function EmailInput() {
  const [valid, setValid] = useState(false);
  // validateEmail fonksiyonu ve onChangeText ekle
  return (
    <View>
      <TextInput onChangeText={(t) => {}} />
    </View>
  );
}

Örnek çözüm

App.js
import React, { useState } from 'react';
import { TextInput, View } from 'react-native';

function validateEmail(email) {
  return /.+@.+\..+/.test(email);
}

function EmailInput() {
  const [valid, setValid] = useState(false);
  return (
    <View>
      <TextInput onChangeText={(t) => setValid(validateEmail(t))} />
    </View>
  );
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi trafiği korur?

App.js
certificate pinning
  • Jailbreak detect
  • Certificate pinning Doğru cevap
  • Obfuscation
  • Minification

Açıklama: Certificate pinning MITM saldırısını engeller.

2 Katmanı rolüne eşle

Kavram Anlamı
obfuscation Kodu gizler
API key env Key'i taşır
pinning Trafiği korur
anti-tamper Cihazı denetler

Uzman bölümündeki tüm dersler