bbs论坛小结

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

开发中遇到的问题html

1.如何实现sql防注入
2.会话的使用
3.PHP令牌的使用
4.面向对象和面向过程的区别
5.引用传递和值传递的区别以及应用
6.资源文件的设置成相对路径mysql

解决方式
一.相对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:攻击者盗用了你的身份,以你的名义发送恶意请求。包括:以你名义发送邮件,发消息,盗取你的帐号,甚至于购买商品,虚拟货币转帐......形成的问题包括:我的隐私泄露以及财产安全。
四.面向对象和面向过程
面向过程的重用性更高。小项目可用面向对象的方式,linux

五.引用传递和值传递正则表达式

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

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

应用场景:按值传递时,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

http://www.javashuo.com/article/p-ovldkjkz-t.html

 

谷歌浏览器调试技巧

http://blog.csdn.net/shenlei19911210/article/details/50992137

 

Csrf攻击方式

https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html 

单入口

http://blog.csdn.net/fengqiuzhihua/article/details/7913899

Http协议处理状态和返回值

http://blog.csdn.net/x_chengqq/article/details/51160498

 

http://www.php.cn/code/3906.html

 

http://blog.csdn.net/aixiaoyang168/article/details/49304823

 

http://localhost:8888/wendy/reg.php

 

http://localhost:8888/MAMP/

 

http://www.javashuo.com/article/p-parpjzao-ba.html  数据库

 

http://blog.sina.com.cn/s/blog_6742643c0100r9qp.html

 

http://php.net/manual/zh/book.pdo.php

 

http://www.17sucai.com/preview/171072/2016-04-07/usercenter/index.html 我的中心页面

 

https://www.w3cschool.cn/phpkfbmgf/wyohkn.html 目录结构

 

* http://www.doc88.com/p-0187151320278.html 论坛开发文档参考

 

http://blog.csdn.net/eastmount/article/details/44241583

论坛博客参考

 

Bbs表情功能

http://blog.sina.com.cn/s/blog_6d4bfb040100lzm4.html

 

http://www.jb51.net/article/88805.htm 3种方法轻松处理php开发中emoji表情的问题

 

http://www.jb51.net/article/46458.htm正则表达式

 

http://www.educity.cn/develop/168810.html php目录

 

http://www.jb51.net/article/30568.htm php class 类的应用

 

http://blog.csdn.net/meeeen7/article/details/52136474 pdo操做类参考代码

 

http://www.javashuo.com/article/p-dcivjsao-bt.html

页面是否登录验证

 

http://www.jb51.net/article/36044.htm

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

 

http://blog.csdn.net/herion_liu/article/details/53188359

sql注入

相关文章
相关标签/搜索