Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中隐藏/保护密码详细信息?_Php_Password Encryption - Fatal编程技术网

如何在php中隐藏/保护密码详细信息?

如何在php中隐藏/保护密码详细信息?,php,password-encryption,Php,Password Encryption,我正在制作一个网站,我正在尝试创建一个表单,将用户输入发送到我的谷歌文档/驱动器中的谷歌电子表格。。。我发现了一个Github项目,让人们可以编写php。。。它包括脚本所需的另外两个php文件。代码如下: 我的问题是,如何在$u=/$p=?下隐藏我的密码?? 任何查看代码的人都可以看到我的密码。。我怎样才能防止呢 指向脚本源的链接是: 这个问题在这里已经被问过很多次了(但不是专门针对谷歌文档)。简而言之,你无能为力 更详细的回答是,您可以通过以下方式降低凭据受损的可能性: 使用用户提供的凭据而

我正在制作一个网站,我正在尝试创建一个表单,将用户输入发送到我的谷歌文档/驱动器中的谷歌电子表格。。。我发现了一个Github项目,让人们可以编写php。。。它包括脚本所需的另外两个php文件。代码如下:

我的问题是,如何在$u=/$p=?下隐藏我的密码?? 任何查看代码的人都可以看到我的密码。。我怎样才能防止呢

指向脚本源的链接是:


这个问题在这里已经被问过很多次了(但不是专门针对谷歌文档)。简而言之,你无能为力

更详细的回答是,您可以通过以下方式降低凭据受损的可能性:

  • 使用用户提供的凭据而不是存储在代码中的凭据
  • 使用用户提供的令牌作为解密代码中存储的凭据的手段(但这对于许多用户来说非常复杂)
  • 将凭据存储在文档根目录之外的包含文件中

    • 隐藏密码的最佳方法是将其保存在外部文件中,然后将其包含在php脚本中。使用此密码的文件(比如“
      config.php
      ”应该位于
      DOCUMENT\u ROOT
      上方,以使其无法通过浏览器访问。这是一种常见的方法,例如,您可以在Zend Framework目录结构中看到它,其中只有“public”目录对用户可见。还应为此文件设置正确的CHMOD


      在“ZF目录结构”下,您可以在其中检查配置文件的位置。

      您可以使用下面的代码尝试隐藏if以防窥视。如果您尝试,它仍然可以被发现,但至少它远离开放文本视图。它所做的只是在文本中添加字符,然后在使用密码之前减去字符

      使用原始密码运行此脚本


      需要有一个用户可以访问您的文件。因此,您的密码将是可读的。不与任何人共享该用户或与任何人共享您的服务器如何?为什么/如何/任何人都可以阅读该代码?如果它被认为是安全的,不要把密码放在代码中——就这么简单。@BLaZuRE:你说的访问用户是什么意思?电子表格将保存到“我的”谷歌文档帐户中,因此帐户密码不应该是我自己的帐户密码吗?或者我也可以在谷歌文档上创建一个虚拟用户?就像yahoo mail上的身份一样?那么我应该通过:'include(“config.php”);'指挥部?如果是这样,“config.php”文件的代码可能是什么?当有人想从web访问它时,他将看不见它。正如我所写的,最好的解决方案是将这个文件移到文档根上。好的!谢谢我现在明白了。。另外,文档根是指“检查我给你的目录结构”之后。假设您的应用程序显示在
      /user/
      下,您的页面显示在
      /user/public/index.php下。php
      htaccess允许访问此目录的public/and绑定域,但配置位于
      /user/config/config.php
      中,因此用户无法通过浏览器访问,但您的脚本无法访问。谢谢这是有道理的,但我必须检查与ZF目录的页面链接…谢谢!是否有任何PHP函数也可以将密码字符串编码为md5或sha?我在网上的某个地方读到PHP支持将字符串解密为这两种格式……看起来他们在这里这么做了,但这对我不起作用,我的php5 mcrypt出于某种原因不喜欢我。他们在这里给出了修复的技巧,这很有效,然后我运行了md5脚本,效果非常好!嗯,我在网上找到一个网站,它可以将string转换为md5,然后再转换回string!这是我的建议
      <?php
      
      // Zend library include path
      set_include_path(get_include_path() . PATH_SEPARATOR . "$_SERVER[DOCUMENT_ROOT]/ZendGdata-1.8.1/library");
      
      include_once("Google_Spreadsheet.php");
      
      $u = "username@gmail.com";
      $p = "password";
      
      $ss = new Google_Spreadsheet($u,$p);
      $ss->useSpreadsheet("My Spreadsheet");
      $ss->useWorksheet("wks2");
      
      // important:
      // adding a leading alpha char prevents errors, there are issues 
      // when trying to lookup an identifier in a column where the 
      // value starts with both alpha and numeric characters, using a
      // leading alpha character causes the column and its values to be 
      // seen as a strictly a strings/text
      
      $id = "z" . md5(microtime(true));
      
      $row = array
      (
          "id" => $id // used for later lookups
          , "name" => "John Doe"
          , "email" => "john@example.com"
          , "comments" => "Hello world"
      );
      
      if ($ss->addRow($row)) echo "Form data successfully stored";
      else echo "Error, unable to store data";
      
      $row = array
      (
          "name" => "John Q Doe"
      );
      
      if ($ss->updateRow($row,"id=".$id)) echo "Form data successfully updated";
      else echo "Error, unable to update spreadsheet data";
      
      ?>