php_2

1. 如何进行防 SQL 注入

1.表单尽量用 post,表单判断控制走 get,因为 get 比 post 速度快
2.用$_SERVER[HTTP_REFERER]判断提交者的源头
3.开启 addslashes,在’,“,\头加\,addslashes默认就是开启的是为了让含有单双引号和反斜杠的sql语句正常执行
4.密码一定设置 md5 加密
5.采用预处理,先解析sql,再绑定参数
6.服务器本身的安全(web+mysql)

2. 如何防止盗链

1.服务器上防止
Apache 和 nginx 做 rewrite 基于源来做判断阻止盗链
2.代码防止
在页面加判断语句,用$_SERVER[HTTP_REFERER]检测请求页面的域名或者ip,如果不是同域请求,就提示错误。比如复制一个新浪博客的美女图片(如图1)链接的地址,在自己的网站中使用,图片会显示如下(如图2)。这就是防盗链功能。

经测试,个别网站似乎可以破解这种防盗链的机制,比如简书,这里就是直接用的新浪博客的的图片链接,简书先访问到外部网站的图片,然后保存到简书自己的服务器上。这也算一种破解防盗链的方法吧。

图1

图2
3. 下面代码的执行结果是什么?
<?php
echo 1+2+"3+4+5";
?>

答案是6
echo 1+2是3
echo "3+4+5"是3,因为"3+4+5"是字符串,看的是第一个数值,强制转类型是(int)"3+4+5"把3+4+5强制转为数值类型,结果是3。所以答案是6.

4. http状态码
  1. 200正常相应
  2. 302地址重定向,一般是通过rewrite实现
  3. 304缓存未过期
  4. 403权限不足
  5. 404访问的页面不存在
  6. 服务器内部错误
5. 如何让禁用cookie的客户端还可以实现session数据共享?

打开php配置文件php.ini
把session.use_trans_sid = 0,修改为 =1。a链接的后面会自动带上session_id

6. 用 PHP 实现冒泡排序,将数组$a = array()按照从小到大的方式进行排序。
<?php
$arr=array(1,323,66,85,200,2,16);
function mysort($arr){
    for($i=0;$i<count($arr)-1;$i++){
        for($j=0;$j<count($arr)-1;$j++){
            if($arr[$j]>$arr[$j+1]){
                $a=$arr[$j];
                $arr[$j]=$arr[$j+1];
                $arr[$j+1]=$a;
            }
        }
    }
    return $arr;
}
$newArr=mysort($arr);
echo "<pre>";
print_r($newArr);
echo "</pre>";
7. 写一个把含有下划线的字符串转为驼峰样式的字符串:
<?php 
function transform($str){
    return str_replace(' ', '', ucwords(str_replace('_', ' ', $str)));
}
echo transform('index_php_function');
 ?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • array_push — 将一个或多个单元压入数组的末尾(入栈) [] 用方括号的语法新建/修改可以通过明示地设定...
    icy2003阅读 1,238评论 1 3
  • PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...
    iscona阅读 168评论 0 0
  • Alpaca-PHP-2.0 简介 Alpaca-PHP-2.0 简介 Alpaca-PHP 是一款轻量的PHP-...
    大弹簧CC阅读 439评论 0 0
  • 我们都知道如果在php里面想计算2的n次方一般都会用采用系统内置函数pow(),或者手动写一个for循环去处理 但...
    简单方式阅读 2,736评论 1 6
  • 文/那年沐子 和她认识两年。异地。 习惯了每天来自她的问候,来自她的家长里短,趣闻轶事,也习惯了附和闲聊几句。 她...
    那年沐子阅读 354评论 0 0