bbs.php ww1.dzxa.me_bbs论坛小结

要求:使用PDO开发论坛,论坛要有登录注册退出登陆,修改资料,发帖子,帖子分类,回帖,加好友,送礼物,私信,30秒内间隔发帖等功能。sql考虑防注入,使用绝对路径等。

开发中遇到的问题

1.如何实现sql防注入

2.会话的使用

3.PHP令牌的使用

4.面向对象和面向过程的区别

5.引用传递和值传递的区别以及应用

6.资源文件的设置成相对路径

解决方式

一.相对mysqli, PDO支持12种数据库驱动和命名参数绑定是其最大优点

sql防注入

1.pdo prepare防注入原理

PHP是将SQL模板和变量是分两次发送给MySQL的,由MySQL完成变量的转义处理,既然变量和SQL模板是分两次发送的,那么就不存在SQL注入的问题了

可理解为将传入变量中的特殊字符转译成普通字符处理

select * from u_user_info where u_name = '999' and u_password ='222' or '1' ='1'; 运行改语句会sql注入,当使用预处理后

二.会话的理解

cookie和session会话

cookie存在客户端,session存在服务器,session更安全,session文件存放在MAMP/tmp/php.

三.php表单令牌验证可以有效的防止表单重复提交

token经过加密后传到客户端,用户每次发出请求时,传一个token和服务器端的验证是否一致,不一致则提示用户非法登录。

token和session的使用

CSRF:攻击者盗用了你的身份,以你的名义发送恶意请求。包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。

四.面向对象和面向过程

面向过程的重用性更高。小项目可用面向对象的方式,

五.引用传递和值传递

按值传递:函数内对值的任何改变在函数外部都会被忽略。

引用传递:函数内对值的任何改变在函数外部也能反映出这些修改。

应用场景:按值传递时,php必须复制值,而按引用传递则不需要复制值,故引用传递一般用于大字符串或对象。

六.php获取当前文件的绝对路径

dirname(__file__)

__FILE__ PHP魔术常量,返回当前执行PHP脚本的完整路径和文件名

几个 PHP 的“魔术常量”

名称 说明

__LINE__ 文件中的当前行号。

__FILE__ 文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。

__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

__CLASS__ 类的名称

需要掌握

7.每天一个linux

8.http协议返回码代表含义

9.考虑将面向过程开发改为面向对象开发

10.mvc模式单入口index文件

11.如何实现php的低耦合和可扩展性

13如何将PHP项目部署到服务器

14.redis和memcached的优缺点

八.信息提示2.服务器成功地接受了客户端请求。3重定向4.客服端错误5。服务器错误

php获取当前文件的绝对路径

十.mvc单入口 所有的用户请求都会通过index单入口进入,域名,路由器设置,将用户请求转发到不同的控制器,初始化类时,自动引入相关文件。

http协议返回码代表

参考资料

session和cookie

谷歌浏览器调试技巧

Csrf攻击方式

单入口

Http协议处理状态和返回值

论坛博客参考

Bbs表情功能

页面是否登陆验证

Php中用PDO查询Mysql来避免SQL注入风险的方法

sql注入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值