飘飘悠悠 发表于 2015-2-3 23:33:20

PHP编程:PHP代码履行破绽参考材料总结

即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。      一 代码履行函数
  PHP中可以履行代码的函数。如eval()、assert()、``、system()、exec()、shell_exec()、passthru()、 escapeshellcmd()、pcntl_exec() 等
  demo code 1.1:
  二 文件包括代码打针
  文件包括函数在特定前提下的代码打针,如include()、include_once()、 require()、require_once()。
  当allow_url_include=On ,PHP Version>=5.2.0 时,招致代码打针。
  demo code 2.1:
  会见http://127.0.0.1/include.php?a=data:text/plain,%3C?php%20phpinfo%28%29;?%3E 即
  履行phpinfo()。
  三 正则婚配代码打针
  尽人皆知的preg_replace()函数招致的代码打针。当pattern中存在/e形式润色符,即答应履行代码。这里咱们分三种情形会商下
  3.1 preg_replace() pattern 参数打针
  pattern即第一个参数的代码打针。
  当magic_quotes_gpc=Off时,招致代码履行。
  demo code 3.1:
  会见http://127.0.0.1/preg_replace1.php?reg=%3C\/php%3E/e 即
  履行phpinfo()。
  3.2 preg_replace() replacement参数打针
  replacement即第二个参数的代码打针,招致代码履行。
  demo code 3.2:
  当咱们提交 http://127.0.0.1/preg_replace2.php?h=phpinfo() 即
  履行phpinfo()。
  3.3 preg_replace()第三个参数打针
  咱们经由过程机关subject参数履行代码。提交:http://127.0.0.1/preg_replace3.php?h=
  phpinfo()
  或 http://127.0.0.1/preg_replace3.php?h=
  ${phpinfo%28%29}
  招致代码履行
  demo code 3.3:
  四 静态代码履行
  4.1 静态变量代码履行
  demo code 4.1:
  咱们提交 http://127.0.0.1/dyn_func.php?dyn_func=system&argument=ipconfig 履行ipconfig号令
  4.2 静态函数代码履行
  demo code 4.2:
  咱们提交 http://127.0.0.1/create_function.php?foobar=system%28dir%29 履行dir号令
  五 其他
  5.1 ob_start()函数的代码履行
  demo code 5.1:
  5.2 array_map()函数的代码履行
  demo code 5.2:
  咱们提交 http://127.0.0.1/array_map.php?callback=phpinfo 即履行phpinfo()。
  5.3 unserialize()与eval()
  unserialize()是PHP中利用率十分高的函数。不合法利用unserialize()轻易招致平安隐患。
  咱们提交 http://127.0.0.1/unserialize.php?saved_code=O:7:%22Example%22:1:{s:3:%22var%22;s:10:%22phpinfo%28%29;%22;} 即履行phpinfo()。
  5.4 轻易招致平安成绩的函数
  同类型函数还有良多
  array_map()
  usort(), uasort(), uksort()
  array_filter()
  array_reduce()
  array_diff_uassoc(), array_diff_ukey()
  array_udiff(), array_udiff_assoc(), array_udiff_uassoc()
  array_intersect_assoc(), array_intersect_uassoc()
  array_uintersect(), array_uintersect_assoc(), array_uintersect_uassoc()
  array_walk(), array_walk_recursive()
  xml_set_character_data_handler()
  xml_set_default_handler()
  xml_set_element_handler()
  xml_set_end_namespace_decl_handler()
  xml_set_external_entity_ref_handler()
  xml_set_notation_decl_handler()
  xml_set_processing_instruction_handler()
  xml_set_start_namespace_decl_handler()
  xml_set_unparsed_entity_decl_handler()
  stream_filter_register()
  set_error_handler()
  register_shutdown_function()
  register_tick_function()
即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。

蒙在股里 发表于 2015-2-4 02:07:29

Ps:以上纯属原创,如有雷同,纯属巧合

若天明 发表于 2015-2-4 20:46:28

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

冷月葬花魂 发表于 2015-2-10 08:26:51

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

简单生活 发表于 2015-3-1 04:45:34

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

admin 发表于 2015-3-8 18:23:06

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

飘飘悠悠 发表于 2015-3-16 09:52:01

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

活着的死人 发表于 2015-3-17 03:10:32

爱上php,他也会爱上你。

精灵巫婆 发表于 2015-3-17 04:21:24

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

柔情似水 发表于 2015-3-23 19:05:37

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

小女巫 发表于 2015-3-29 06:45:27

写的比较杂,因为我也是个新手,不当至于大家多多指正。

老尸 发表于 2015-4-14 08:16:32

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

因胸联盟 发表于 2015-4-28 21:26:12

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

飘灵儿 发表于 2015-5-1 06:15:18

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

谁可相欹 发表于 2015-5-4 20:40:02

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

第二个灵魂 发表于 2015-6-4 02:30:21

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

海妖 发表于 2015-6-4 17:41:03

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

兰色精灵 发表于 2015-6-6 02:51:35

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

小妖女 发表于 2015-6-7 15:21:05

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

只想知道 发表于 2015-6-18 21:31:37

实践是检验自己会不会的真理。
页: [1] 2
查看完整版本: PHP编程:PHP代码履行破绽参考材料总结