Code Security Guide -Thinkphp3.2开发

admin 2021年11月17日20:31:25SecIN安全技术社区 CTF专场Code Security Guide -Thinkphp3.2开发已关闭评论73 views2287字阅读7分37秒阅读模式

一、Thinkphp安装基础

1.1安装ThinkPHP

Thinkphp ->MVC结构 ->model(数据库) ->view(显示) ->comtrol(逻辑结构控制)

Thinkphp 版本:3.2.3,解开压缩包之后,准备好我们thinkphp需要的文件 ThinkPHP和 index.php

Code Security Guide -Thinkphp3.2开发

设置index.php配置文件

Code Security Guide -Thinkphp3.2开发

测试网站打开效果,在浏览器中输入域名

Code Security Guide -Thinkphp3.2开发
看到根目录自动生成一个APP文件夹

Code Security Guide -Thinkphp3.2开发

Code Security Guide -Thinkphp3.2开发
更改Admin中的配置文件

Code Security Guide -Thinkphp3.2开发

1.2框架学习

路由方式:

```url
www.tp3.com/index.php/home/index/index

http://www.tp3.com/index.php?m=home&?c=Index&?a=index

```

1.3ThinkPHP模板的显示调用

模板的保存位置在APP->Home-> View,我们创建的IndexController.class.php中的函数,必须对应一个View->Index文件夹(名字一定要正规,要不然在Linux系统中无法显示)。修改IndexController.class.php,确定函数为Index

Code Security Guide -Thinkphp3.2开发

Code Security Guide -Thinkphp3.2开发

如果View->Index文件夹下没有index.html的话,那我们访问网页就会出现这种效果

Code Security Guide -Thinkphp3.2开发

制作HTML界面,将前端头部代码放到common中。并且在IndexController中修改好调用函数

Code Security Guide -Thinkphp3.2开发

Code Security Guide -Thinkphp3.2开发

Code Security Guide -Thinkphp3.2开发

PUBLIC_ 常量 代表/Public目录名,一般在ThinkPHP中出现是我们存储js,img的文件夹

1.4ThinkPHP 数据库部署

1.4.1 开启调试

//开启调试模式(这个在后面必用,那我们就事先准备好)

php
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);

1.4.2 操作数据库

准备一个数据库,写入部分数据备用

Code Security Guide -Thinkphp3.2开发
1.4.3将数据库的配置代码复制到APP->Conf->Config.php中

Code Security Guide -Thinkphp3.2开发

1.5 前端页面加强

分页展示界面(index.html)
1.5.1

让前端页面做一个分页展示,在thinkphp手册里有相关的代码

Code Security Guide -Thinkphp3.2开发

```php
//这里M表示连接数据库Comment表 thinkPHP自带函数
$comment = M('Comment');//这个分页数来自config.php
//查询满足要求的总记录数
$count = $comment->count();
//实例化分页类,传入总记录数和没分页显示的记录数($limit)
$Page = new \Think\Page($count,$limit);
//分页显示输出
$show = $Page->show();
//进行分页数据查询 注意limit方法的参数要使用page类的属性
$list = $comment->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();

    $this->assign('data',$list);// 赋值数据集
    $this->assign('page',$show);// 赋值分页输出
    $this->display(); // 输出模板

```

1.5.2前端 index.html页面循环

Code Security Guide -Thinkphp3.2开发

1.5.3 更改页面脚

Code Security Guide -Thinkphp3.2开发

1.5.4 发布留言界面 pub.html
获取系统IP 在HOME文件夹->Common->创建functions.php 存储get_client_ip代码

```php
<?php
/*
* Created by leso
/

function get_client_ip($type = 0) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL) return $ip[$type];
if($_SERVER['HTTP_X_REAL_IP']){//nginx 代理模式下,获取客户端真实IP
$ip=$_SERVER['HTTP_X_REAL_IP'];
}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {//客户端的ip
$ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {//浏览当前页面的用户计算机的网关
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$pos = array_search('unknown',$arr);
if(false !== $pos) unset($arr[$pos]);
$ip = trim($arr[0]);
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];//浏览当前页面的用户计算机的ip地址
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
// IP地址合法验证
$long = sprintf("%u",ip2long($ip));
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
return $ip[$type];
}
```

Code Security Guide -Thinkphp3.2开发

修改IndexController.class.php在编辑留言处->edit()函数和修改前端界面-> action=“{:U('Home/Index/pub')}”

Code Security Guide -Thinkphp3.2开发

二、总结与展示

ThinkPHP是一款很友好的开源框架,对初学者来说是很方便的。ThinkPHP的控制也很简单,需要调试好控制器和config.php即可 ·。

Code Security Guide -Thinkphp3.2开发

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年11月17日20:31:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Code Security Guide -Thinkphp3.2开发 http://cn-sec.com/archives/632633.html