84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
自认为,做一个最简单的PHP mvc框架,用URL路由函数匹配URL中的controller和method的名字,如果method_exists则new该controller再用call_user_func_array执行该method,否则引入error的controller,每个controller中可以require引入model,再require引入tpl,这是我做一个最简单的PHP框架的思路,那这里面需要注意哪些安全问题呢?
闭关修行中......
路径问题,不能通过url调用应用外部文件比如/etc/passwd
/etc/passwd
数据过滤,永远不要信任用户的任何输入。输入的所有数据使用htmlspecialchars过滤后入库。
永远不要信任用户的任何输入
htmlspecialchars
数据库,使用PDO代替mysql_xxxx,使用参数绑定处理外部数据(如果数据库只使用mysql也可使用mysqli扩展)
mysql_xxxx
mysqli
关于 call_user_func_array 的安全问题,之前drupal中过招。
call_user_func_array
http://blog.knownsec.com/2014/10/drupal__callback_nightmare/
require 可能产生文件包含漏洞。
require
http://www.neatstudio.com/show-1123-1.shtml
路径问题,不能通过url调用应用外部文件比如
/etc/passwd
数据过滤,
永远不要信任用户的任何输入
。输入的所有数据使用htmlspecialchars
过滤后入库。数据库,使用PDO代替
mysql_xxxx
,使用参数绑定处理外部数据(如果数据库只使用mysql也可使用mysqli
扩展)关于
call_user_func_array
的安全问题,之前drupal中过招。http://blog.knownsec.com/2014/10/drupal__callback_nightmare/
require
可能产生文件包含漏洞。http://www.neatstudio.com/show-1123-1.shtml