菜鸟教程小白 发表于 2022-12-13 13:03:32

ios - 如何在 GitHub 中保存或安全避免 Facebook 或 LinkedIn 等社交网络的 key


                                            <p><p>出于<strong>安全</strong>原因,一些教程建议不要将 key 保存在 <code>GitHub</code> 中,而是将文件保存在 <code>.gitignore</code> 中,例如一些 <strong>Social Networks</strong>,如 <code>Facebook</code> 或 <code>Linkedin</code> 在 <code>Info.plist</code> 文件中创建一个 key 。</p>

<p><code>Info.plist</code> 包含应用程序的许多其他设置,必须提交。</p>

<p>我怎样才能保持<strong>安全</strong>我的 key 并正常提交<code>Info.plist</code>。</p>

<p><code>Info.plist</code> 示例(<code>CFBundleURLSchemes</code> 和 <code>FacebookAppID</code>)</p>

<pre><code>&lt;key&gt;CFBundleURLTypes&lt;/key&gt;
    &lt;array&gt;
      &lt;dict&gt;
            &lt;key&gt;CFBundleURLSchemes&lt;/key&gt;
            &lt;array&gt;
                &lt;string&gt;fb355414950742780&lt;/string&gt;
            &lt;/array&gt;
      &lt;/dict&gt;
    &lt;/array&gt;
&lt;key&gt;FacebookAppID&lt;/key&gt;
&lt;string&gt;355414950742780&lt;/string&gt;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>尝试从不推送 <code>Info.plist</code> 文件太冒险了。<br/>
<em>not</em> 版本更安全(<code>git rm --cached <File></code>,并添加到 <code>.gitignore</code>)</p>

<p>然后您可以使用 <a href="https://stackoverflow.com/a/10571580/6309" rel="noreferrer noopener nofollow">content filter driver</a> , 使用 <a href="https://stackoverflow.com/a/2316728/6309" rel="noreferrer noopener nofollow"><code>.gitattributes</code> declaration</a> :</p>

<p>注册一个 <code>smudge</code> 脚本,该脚本将<em>生成</em>包含 <code>git checkout</code> 上的敏感信息的文件。</p>

<p> <a href="/image/tumAc.png" rel="noreferrer noopener nofollow"><img src="/image/tumAc.png" alt="enter image description here"/></a>
<sup>(图片来自“<a href="http://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#Keyword-Expansion" rel="noreferrer noopener nofollow">Customizing Git - Git Attributes</a>”,来自“<a href="http://git-scm.com/book/en/v2/" rel="noreferrer noopener nofollow">Pro Git book</a>”)</sup></p>

<p>“<code>smudge</code>”脚本(您必须编写)需要:</p>

<ul>
<li>获取 key (从存储库<em>外部的来源</em>,这样不会有错误添加和推送的风险)</li>
<li>生成 <code>Info.plist</code> 文件,使用跟踪的 <em>模板</em> <code>Info.plist.tpl</code> 并在其中替换占位符值。<</li>
</ul>

<p>这意味着:</p>

<ul>
<li>将模板 <code>Info.plist.tpl</code> 添加到 git repo</li>
<li>生成文件 <code>Info.plist</code> 在 <code>.gitignore</code> 文件中声明,并且从不进行版本控制(并且从不推送)。</li>
</ul></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 GitHub 中保存或安全避免 Facebook 或 LinkedIn 等社交网络的 key ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/34471477/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/34471477/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 GitHub 中保存或安全避免 Facebook 或 LinkedIn 等社交网络的 key