我想编写一个函数(除其他外)接受可变数量的参数,然后将它们传递给sprintf().
例如:
<?php
function some_func($var) {
// ...
$s = sprintf($var, ...arguments that were passed...);
// ...
}
some_func("blah %d blah", $number);
?>
Run Code Online (Sandbox Code Playgroud)
我如何在PHP中执行此操作?
存储在cookie中以保持持久登录状态的最佳方法是什么?
我见过许多网站(和初学者教程!),只是在cookie中存储了像validUser = 1这样的东西.显然,我可以欺骗它,网站会认为我是一个有效的用户.
如果用户名存储在cookie中,我可以通过在我的请求中发送带有他/她用户名的cookie来伪装成任何用户.
因此,如果您将用户名和密码存储在cookie中,那么我必须知道用户名和密码才能登录.实际上,用户自动登录 - 就像他的浏览器保存了密码一样.浏览器不必每次都自己在框中输入凭证,而是自动发送每个页面请求.
但这仍然是一个坏主意吗?存储纯文本密码不是一个好主意,但这是在登录时如何在POST数据中发送.此外,它可以存储哈希.但我仍然觉得不舒服.
也许cookie不应该用于存储除会话ID之外的任何内容,并且用户数据存储在服务器本身上.这可能是一个更安全的位置,假设服务器不共享.
看一些开源软件,比如论坛软件,他们使用的是一个更复杂的系统,但我无法完全理解它在浏览代码时的作用.
什么是标准的"最佳实践"?
有没有办法让div总是在窗口的底部,另一个div来改变它的高度以填充它留下的任何空间,并且如果div的内容太长,div将滚动.(我从不希望窗口滚动).
最好通过图片说明:
div布局http://img401.imageshack.us/img401/3209/divs.png
绿色div将始终置于窗口的底部,橙色div将填补空白.当窗口较小时,如右图中,橙色div将更小并将滚动.
绿色div可以切换.有时绿色div会有display: none,然后橙色div会延伸到底部.当绿色div display: block再次出现时,它将再次看起来像.
它必须在IE6中工作.
到目前为止,我可以通过以下方式获得绿色div:
position: absolute;
bottom: 0;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何让橙色div做我想做的事.