我需要通过PHP脚本通过SFTP上传文件。我认为cURL可能就是这样,因为我可以在服务器上使用它。
有谁知道如何使用身份密钥身份验证将cURL用于SFTP的示例?
-编辑-
我刚刚注意到HTTP PUT可能是一种替代方法,但是它的安全性如何?
这是一个好的做法......即,将默认情况分组为另一个?
switch ($cond){
case 1:
...;
break;
case 2:
...;
break;
case 3:
default:
...;
break;
}
Run Code Online (Sandbox Code Playgroud) 我的网络服务器遭到了攻击,其中.html文件被FTP复制到公共html目录中.
FTP密码非常强大.
我正在尝试确定PHP是否启动了FTP传输.是否有Apache或Nix日志文件可以提供此信息?
附加信息 我有FTP日志条目似乎显示不同的IP用于登录和复制文件.我不确定但是确实如此?在IP之前指示除了它不是帐户用户(在这种情况下是王国)?它看起来像记录了几个不同的IP - 每个IP都复制一个不同的文件 - 所有这些都在不到30秒的时间内完成.违规文件是"mickey66.html","mickey66.jpg"和"canopy37.html".
2010-06-17T21:24:02.073070 + 01:00 webserver pure-ftpd:(?@ 190.20.76.74)[INFO]王国现已登录
2010-06-17T21:24:06.632472 + 01:00 webserver pure-ftpd:(?@ 77.250.141.158)[INFO]王国现已登录
2010-06-17T21:24:07.216924 + 01:00 webserver pure-ftpd :( kingdom@77.250.141.158)[NOTICE] /home/kingdom//public_html/mickey66.html上传(80字节,0.26KB /秒)
2010-06-17T21:24:07.364313 + 01:00 webserver pure-ftpd:(kingdom@77.250.141.158)[INFO]退出.
2010-06-17T21:24:08.711231 + 01:00网络服务器pure-ftpd :(?@ 78.88.175.77)[INFO]王国现已登录
2010-06-17T21:24:10.720315 + 01:00 webserver pure-ftpd :( kingdom@78.88.175.77)[NOTICE] /home/kingdom//public_html/mickey66.jpg上传(40835字节,35.90KB /秒)
2010-06-17T21:24:10.848782 + 01:00 webserver pure-ftpd :( kingdom@78.88.175.77)[INFO]退出.
2010-06-17T21:24:18.528074 + 01:00 webserver pure-ftpd:(kingdom@190.20.76.74)[INFO]退出.
2010-06-17T21:24:22.023673 + 01:00 webserver pure-ftpd:(?@ 85.130.254.227)[INFO]王国现已登录
2010-06-17T21:24:23.470817 + 01:00 webserver pure-ftpd :( kingdom@85.130.254.227)[NOTICE] /home/kingdom//public_html/mickey66.html上传(80字节,0.38KB /秒)
2010-06-17T21:24:23.655023 + 01:00 webserver …
我正在寻找亚马逊EC的一个小型Linux主机设置,其中包含多达十几个网站,我希望标准的PHP/MySQL网站具有良好的性能.在考虑以下情况时,我想了解亚马逊服务的物有所值:
...与其他类似价格的Linux VPS主机设置相比.
我知道可伸缩性对亚马逊来说是一个很大的好处,但我对上述3个因素更感兴趣.
是否有可能在调试器变量透视图中看到PHP超级全局变量如$ _SESSION和$ _POST?
另外,在以下示例中......
class myclass {
public myvar = 'value';
...
}
Run Code Online (Sandbox Code Playgroud)
...如果我正在调试该类,我希望能够在调试器中看到$ this-> myvar
我已经运行了这两个看起来像他们做同样事情的查询,但给出了不同的结果:
SELECT COUNT(stage1) AS total
FROM progress_status
WHERE stage1 = 3
AND stage2 != 3 AND stage3 !=3 AND stage4 !=3 AND stage5 !=3;
# total = 90
SELECT COUNT(stage1) AS total
FROM progress_status
WHERE stage1 = 3
AND (stage2,stage3,stage4,stage5) != (3,3,3,3)
# total = 314
Run Code Online (Sandbox Code Playgroud) 我正在通过http://www.webtechnick.com使用cakephp 1.3的优秀Facebook插件.这就是我现在所拥有的:
class UsersController extends AppController {
var $name = 'Users';
var $components = array('Facebook.Connect');
function beforeFilter {
$this->set('facebookUser', $this->Connect->user());
}
}
Run Code Online (Sandbox Code Playgroud)
但我想有条件地加载Facebook.Connect组件,并在控制器中使用它 - 在sudocode中这样的东西......
if ($thisIsTrue) {
Load_the_component_and_make_it_ready_for_use;
$this->set('facebookUser', $this->Connect->user());
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
我正在使用这个结构作为我的元素:
$freetext = $this->CreateElement('textarea', 'freetext')
->setLabel('Comments')
->setAttrib('class','input-textarea')
->setOptions(array('rows' => '2', 'cols'=>'30'))
->addValidator('StringLength', false, array(0,500))
->addFilter('HtmlEntities')
->addFilter('StripTags')
->setRequired(true);
Run Code Online (Sandbox Code Playgroud)
我想为此添加"allowEmpty"但无法找到正确的语法.我希望有类似的东西:
... ->addValidator('allowEmpty', false, true)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
编辑:我已将setRequired()更改为true - 我希望允许空字符串作为require字段上的可接受值.
无论使用情况如何,如何将此选项添加到我的元素中?
我正在使用 Zend_Form (include_path 上的完整库)但不使用 MVC。$_POST值符合预期,但$form->getValues()对于 $_POST 中包含正确字符串的键返回 null。我希望$form->getValues()为“全名”键返回一个有效的字符串。这是表格:
class MyForm extends Zend_Form {
public function init() {
$this->setName('myform')
->setAction($_SERVER['PHP_SELF'])
->setMethod('post');
$fullname = $this->createElement('text', 'fullname')
->setLabel('What is your name?');
$this->addElement($fullname);
$this->addElement('submit', 'submit');
}
}
Run Code Online (Sandbox Code Playgroud)
这是为表单生成的 HTML:
<form id="myform" name="myform" enctype="application/x-www-form-urlencoded" action="/classes_test/index.php" method="post">
<dl class="zend_form">
<dt id="fullname-label">
<label for="fullname" class="optional">What is your name?</label>
</dt>
<dd id="fullname-element">
<input type="text" name="fullname" id="fullname" value="">
</dd>
<dt id="submit-label"> 
</dt>
<dd id="submit-element">
<input type="submit" name="submit" id="submit" value="submit">
</dd>
</dl> …Run Code Online (Sandbox Code Playgroud) 是否可以通过youtube API登录,在网页上查看自己的私有视频?
因此,如果我在页面上有某种经过身份验证的会话,我可以通过以下操作播放我的私人视频:http://www.youtube.com/embed/gYD0lKSIwxY?