我正在制作一个网站,其中我正在尝试创建一个表单,将用户输入发送到我的谷歌文档/驱动器中的谷歌电子表格...我发现了一个Github项目,让人们编码PHP ...它包括脚本所需的其他2个php文件。代码如下:
我的问题是,如何在$ u = / $ p = ??下隐藏此脚本的密码? 查看代码的任何人都可以看到我的密码..我该如何预防?
链接到脚本的来源是:http://www.farinspace.com/saving-form-data-to-google-spreadsheets/
<?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";
?>
答案 0 :(得分:2)
您可以尝试隐藏是否使用以下代码窥视眼睛。如果你尝试过,它仍然是可以被发现的,但至少它远离开放文本视图。它只是在文本中添加字符,然后在使用密码之前减去它们。
使用原始密码
运行此脚本
<?php
$password = "test";
echo "Original Password In Plain Text = $password\n";
$len=strlen($password);
$NewPassword = "";
for( $i = 0; $i <= $len-1; $i++ ) {
$charcode = ord(substr( $password, $i, 1 ));
$NewChar = $charcode+5; $NewLetter = chr($NewChar);
$NewPassword = $NewPassword . $NewLetter;
} echo "Modified Password to Use in Script = $NewPassword\n";
$OrigPassword = "";
for( $i = 0; $i <= $len-1; $i++ ) {
$charcode = ord(substr( $NewPassword, $i, 1 ));
$OrigChar = $charcode-5; $OrigLetter = chr($OrigChar);
$OrigPassword = $OrigPassword . $OrigLetter;
} echo "Convert the Modified back to the Original = $OrigPassword\n";
?>
&#13;
使用上述脚本中的新密码
将此部件添加到您的脚本中
$password = "yjxy";
$OrigPassword = "";
for( $i = 0; $i <= $len-1; $i++ ) {
$charcode = ord(substr( $password, $i, 1 ));
$OrigChar = $charcode-5; $OrigLetter = chr($OrigChar);
$OrigPassword = $OrigPassword . $OrigLetter;
} $password = $OrigPassword;
echo "Script thinks this is the password = $password\n";
&#13;
答案 1 :(得分:1)
隐藏密码的最佳方法是将其保存在外部文件中,然后将其包含在php脚本中。使用此密码的文件,假设“config.php
”应高于DOCUMENT_ROOT
,以使其无法通过浏览器访问。这是常见的方法,例如,您可以在Zend Framework目录结构中看到它,其中只有“public”目录对用户可见。正确的CHMOD也应该设置为该文件。
在this link下,您有ZF目录结构,您可以在其中检查配置文件的位置。
答案 2 :(得分:0)
这个问题在这里被多次询问和回答(但不是专门针对Google文档)。简短的回答是,你无能为力。
更长的答案是,您可以通过以下方式降低凭据受损的可能性: