PHP 过滤器(Filter)
PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。
什么是 PHP 过滤器?
PHP 过滤器用于验证和过滤来自非安全来源的数据。
验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分。
设计 PHP 的过滤器扩展的目的是使数据过滤更轻松快捷。
为什么使用过滤器?
几乎所有 web 应用程序都依赖外部的输入。这些数据通常来自用户或其他应用程序(比如 web 服务)。通过使用过滤器,您能够确保应有程序获得正确的输入类型。
您应该始终对外部数据进行过滤!
输入过滤是最重要的应用程序安全课题之一。
什么是外部数据?
来自表单的输入数据
Cookies
服务器变量
数据库查询结果
函数和过滤器
如需过滤变量,请使用下面的过滤器函数之一:
filter_var() - 通过一个指定的过滤器来过滤单一的变量
filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
filter_input - 获取一个输入变量,并对它进行过滤
filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤
在下面的例子中,我们用 filter_var() 函数验证了一个整数:
<?php
$int = 123;
if(!filter_var($int, FILTER_VALIDATE_INT))
{
echo("Integer is not valid");
}
else
{
echo("Integer is valid");
}
?>
上面的代码使用了 "FILTER_VALIDATE_INT" 过滤器来过滤变量。由于这个整数是合法的,因此代码的输出是:"Integer is valid"。
假如我们尝试使用一个非整数的变量,则输出是:"Integer is not valid"。
如需完整的函数和过滤器列表,请访问我们的 PHP Filter 参考手册。
Validating 和 Sanitizing
有两种过滤器:
Validating 过滤器:
用于验证用户输入
严格的格式规则(比如 URL 或 E-Mail 验证)
返回若成功预期的类型,否则返回 FALSE
Sanitizing 过滤器:
用于允许或禁止字符串中指定的字符
无数据格式规则
始终返回字符串
选项和标志
选项和标志用于向指定的过滤器添加额外的过滤选项。
不同的过滤器有不同的选项和标志。
在下面的例子中,我们用 filter_var() 和 "min_range" 以及 "max_range" 选项验证了一个整数:
<?php
$var=300;
$int_options = array(
"options"=>array
(
"min_range"=>0,
"max_range"=>256
)
);
if(!filter_var($var, FILTER_VALIDATE_INT, $int_options))
{
echo("Integer is not valid"
相关文档:
PHP 支持curl函数(允许你用不同的协议连接和沟通不同的服务器). curl
是使用URL语法的传送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT
FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP
上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理 ......
1. 借用别人的域名作父域名.
2. 借用此空间建立一php文件,此php功能为,提供地址栏的某个参数时,检测此参数,正确,就获取当前的远程ip写入一js.
3. 其它人访问此php,直接访问,并没有提供参数,所以,直接载入上面的js,即直接转向到远程ip,这样就达到 更新/跳转功能了.同时可以利用js的img onerr事件检测远程ip是否正确, ......
因为我在国外为多,在国内有点事,也不知道上什么网比较好。想把自己的房子租出去,随便找了一个什么网发布了一下,两天就租出去了;可想找phper,不怎么成功。前年是帮朋友找,用了不少渠道,但没上csdn,没成。现在为自己,希望能找到合适的。当然招人跟租房不一样,难一点不奇怪。phpers啊,快来吧... ......
声明,我用的PHP框架是CI(codeignitor)
首先下载FCKeditor 2.6.3 (我使用的是这个版本)
可以在CSDN中下载
解压,将FCKeditor2.6.3下面的fckeditor整个文件夹复制到网站根目录(和index.php)同一个目录,并更名为fck(不改名也行,但后面设置根路径的时候,记得改名字)
然后 ......
//创建文件夹
function createdir($dir){
$edir = explode('/',$dir);
for($i=0;$i<count($edir);$i++)
{
$edirm = $edir[0];
for($ii=1;$ii<=$i;$ii++)
{
$edirm = $edirm.'/'.$edir[$ii];
}
if(file_exists($edirm) && is_dir($edirm))
{}
else
{
@mkdir ($edir ......