0

私は、ユーザーが参加して作成できるチャンネルの部屋を作っています。しかし、ユーザーが作成したチャンネルにパスワードを追加するオプションを提供したい。今、暗号化されたFirebaseにパスワードを追加することが可能かどうか疑問に思っていました。もちろん、1つのオプションはFirebaseの文字列にパスワードを通常の値のようにアップロードしていますが、これは誰でも読むことができます(.readルールはtrueと言います)。そうすれば誰でも私が望んでいないパスワードを見ることができます。だから私の質問です:これは可能ですか?はいの場合:どのように?以下は、役に立つコードです。Firebaseの子にパスワードを追加することはできますか?

は、チャネルIBAction関数を作成します。あなたがチェックするために、サーバー側がない限り、

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
    { 

     if indexPath.section == Section.currentChannelsSection.rawValue 
     { 
      if searchController.isActive && searchController.searchBar.text != "" 
      { 
       let channel = filteredChannels[(indexPath as NSIndexPath).row] 
       sendStatisticsToChannel(channel: channel) 
        } 
      else 
      { 
       let channel = channels[(indexPath as NSIndexPath).row] 
       sendStatisticsToChannel(channel: channel) 
      } 
     } 
    } 

答えて

1

番号:

@IBAction func createChannel(_ sender: AnyObject) { 
    if let name = newChannelTextField?.text { 
     let newChannelRef = channelRef.childByAutoId() 
     let channelItem = [ 
      "name": name 
     ] 
     newChannelRef.setValue(channelItem) 
    } 
} 

Channel.swift:

internal class Channel { 
    internal let id: String 
    internal let name: String 

    init(id: String, name: String) { 
     self.id = id 
     self.name = name 
    } 
} 

は、選択細胞の機能をしましたパスワードを入力するか、Firebaseルールでパスワードを公開します。ユーザーが正しいパスワードを入力したかどうかを確認するには、実際のパスワードと照合する必要があるからです。彼らは実際のパスワードを確認することができれば、それを読むことができます。暗号化も同様です。すべてがクライアント側で行われると、誰かがプロセスを逆転することが可能になります。

+0

ありがとうございます。これがデバイス上でどのように実行できるのかご存じですか?暗号化の拡張子はありますか?ありがとうございました! – Petravd1994

+0

私はどのデバイスを使用しているのかよく分かりませんが、暗号化アルゴリズムがユーザーのデバイス上にある場合は破損する可能性があります。暗号化またはパスワードを使用するにはサーバーが必要です。別のアプローチを考えましたか? –

関連する問題