- 1
https://govnokod.xyz/fakes
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://govnokod.xyz/fakes
0
/**
* <p>Статический метод размещает все аргументы и ключи по парам.</p> <p>Нечетные аргументы - массивы, четные - ключи, по которым искать в массивах.</p> <p>Ключи могут быть массивами. В этом случае поиск происходит во вложенных массивах. Возвращает первый не пустой элемент пары аргумент/ключ.</p>
*
*
* @param array $arraya массив для анализа
*
* @param array $string Ключи поиска
*
* @param strin $integerk Неограниченные последовательно проверяемые пары массив\ключ
*
* @param integer $mixeda
*
* @return mixed
*
* @static
* @link http://dev.1c-bitrix.ru/api_d7/bitrix/main/type/collection/firstnotempty.php
* @author Bitrix
*/
public static function firstNotEmpty()
{
$argCount = func_num_args();
for ($i = 0; $i < $argCount; $i += 2)
{
$anArray = func_get_arg($i);
$key = func_get_arg($i+1);
if (is_array($key))
{
$current = &$anArray;
$found = true;
foreach ($key as $k)
{
if (!is_array($current) || !array_key_exists($k, $current))
{
$found = false;
break;
}
$current = &$current[$k];
}
if ($found)
{
if (is_array($current) || is_object($current) || $current != "")
return $current;
}
}
elseif (is_array($anArray) && array_key_exists($key, $anArray))
{
if (is_array($anArray[$key]) || is_object($anArray[$key]) || $anArray[$key] != "")
return $anArray[$key];
}
}
return "";
}
Чо ?
+1
SCRIPT="<?php http_response_code(429); ob_clean(); //" php -S localhost:80 /proc/self/environ
sql injection is for kids, grownups use environment variable injection
0
<?
class CHISLO {
private $arr = array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять',
'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать',
'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать');
private $arr2 = array('', 'сто', 'двести', 'триста', 'четыреста');
private $ar = array(
1=>array('тысяч', 'тысяча', 'тысячи', 'тысячи', 'тысячи', 'тысяч', 'тысяч', 'тысяч', 'тысяч', 'тысяч'),
array('миллионов', 'миллион', 'миллиона', 'миллиона', 'миллиона', 'миллионов', 'миллионов',
'миллионов', 'миллионов', 'миллионов'),
array('миллиардов', 'миллиард', 'миллиарда', 'миллиарда', 'миллиарда', 'миллиардов', 'миллиардов',
'миллиардов', 'миллиардов', 'миллиардов'),
array('триллионов', 'триллион', 'триллиона', 'триллиона', 'триллиона', 'триллионов', 'триллионов',
'триллионов', 'триллионов', 'триллионов')
);
public function get_chislo($ch) {
if( $ch<1000 )
return $this->get_100($ch);
$ch = preg_split('/(?=(\d{3})+(?!\d))/is', $ch, -1, PREG_SPLIT_NO_EMPTY);
$ch = array_reverse($ch);
$result[] = $this->get_100($ch[0]);
for($i=1; $i<count($ch); $i++) {
@$result[] = $this->get_100($ch[$i]) .' '. $this->ar[$i]{$ch[$i]%10};
}
$result[1] = str_replace('один', 'одна', $result[1]);
// $result[1] = str_replace('два', 'две', $result[1]);
return join(' ', array_reverse($result));
}
private function get_100($ch) {
$c1 = (int)($ch / 100);
$c2 = $ch % 100;
if( $c1<5 )
$result = $this->arr2[$c1];
else
$result = $this->arr[$c1] . 'сот';
return @$result .' '. $this->get_10($c2);
}
private function get_10($ch) {
$c1 = (int)($ch / 10);
$c2 = $ch % 10;
if( $ch<20 ) {
$result = $this->arr[$ch];
} else if( $ch<40 ) {
$result = $this->arr[$c1] . 'дцать';
} else if( $ch<50 ) {
$result = 'сорок';
} else if( $ch<90 ) {
$result = substr( $this->arr[$c1], 0, -1 ) . 'десят';
} else if( $ch<100 ) {
$result = 'девяносто';
}
if( $ch>20 && $c2!=0 )
$result .= ' ' . $this->arr[$c2];
return $result;
}
}?>
Bitrix❤️
+1
<?php
require_once '../vendor/autoload.php';
require_once 'functions.php';
require_once 'KPFile.php';
require_once 'KPLogger.php';
use Intervention\Image\ImageManagerStatic as Шакализатор;
Шакализатор::configure(array('driver' => 'imagick'));
$logger = new KPLogger();
function сжать(KPFile $шакал, $степеньСжатия, Array $ебучесть, $output) {
$индексЕбучести = 0;
if (!is_null($ебучесть[0])) {
$индексЕбучести = $ебучесть[0];
}
if (!is_null($ебучесть[1]) && ($ебучесть[1] > $ебучесть[0])) {
$индексЕбучести = $ебучесть[1];
}
$img = Шакализатор::make($шакал->path);
$img->resize($ебучесть[0], $ебучесть[1], function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
});
if ($img->mime() !== 'image/jpeg') {
$img->encode('jpg', 100);
}
$img->save($output."$шакал->name-$индексЕбучести.jpg", $степеньСжатия);
}
function сжатьВсехШакалов($path, $степеньСжатия, $ебучестьШакалов, $output) {
global $logger;
$files = scandir($path);
foreach($files as $key => $file) {
$logger->colorLogWithFiles('blue', $file, $key);
try {
$шакал = new KPFile($path.$file);
if ($шакал->type !== KPFile::FILE_TYPE_IMAGE) {
continue;
}
if (trim($шакал->name) == '') {
throw new Exception("file=$file, kpFileName=$шакал->name");
}
foreach ($ебучестьШакалов as $ебучесть) {
сжать($шакал, $степеньСжатия, $ебучесть, $output);
}
} catch (Exception $e) {
$logger->exception($e, $key);
}
}
}
$степеньСжатия = 22;
$ебучестьШакалов = [
[60, 60],
[38, 38]
];
сжатьВсехШакалов('dataHeavy/carsOrig/', $степеньСжатия, $ебучестьШакалов, "../public/img/cars/");
$logger->colorLogWithFiles('blue', '10/10 *** еб/шакалов', null, "\n");
shakal of jpeg-street
0
<?php
define('MAX_NUMBER', 70);
function factorial($value) {
return array_reduce(range(1, $value), function($carry,$item){return $carry*$item;}, 1);
}
function R($value) {
return floor(2*sqrt(log(($value))));
}
function make_chain($start, $length) {
$chain['start'] = $start;
for($i = 0; $i < $length; ++$i) {
$hash = factorial($start);
echo ">>> $start! == $hash\n"; // диагностическое сообщение
$start = R($hash);
if($start == 0) break;
}
$chain['end'] = $hash;
echo "Chain from ${chain['start']} to ${chain['end']} is ready.\n"; // диагностическое сообщение
return $chain;
}
function make_chains($count, $length) {
$chains = [];
mt_srand();
for($i = 0; $i < $count; ++$i) {
$number = mt_rand(0, MAX_NUMBER - 1); // начинаем цепочку с псевдослучайного слова
$chain = make_chain($number, $length);
$hash = $chain['end']; // используем конец найденной цепочки как индекс для быстрого поиска
if(!isset($chains[$hash])) $chains[$hash] = []; // если такого хэша не было в корзине, инициализируем её
if(!in_array($chain['start'], $chains[$hash])) { // проверяем на дубли
$chains[$hash][] = $chain['start']; // добавляем начало цепочки в корзину
}
}
return $chains;
}
function find_hash_in_basket($needle, $haystack_start, $haystack_end) {
echo "Роемся в цепочке от $haystack_start до $haystack_end.\n"; // диагностическое сообщение
$current_number = $haystack_start;
do {
$current_hash = factorial($current_number); // <-- сюда вставьте нужную хэш-функцию
if($current_hash <= $needle && $needle <= $current_hash * ($current_number + 1)) {
return $current_number; // нашли
}
$current_number = R($current_hash); // роем в глубину
} while($current_hash !== $haystack_end);
return false; // не нашли
}
function search_hash($hash, $chains, $length) {
$current_hash = $hash;
for($i = 0; $i < $length; ++$i) {
if(isset($chains[$current_hash])) { // нашли хэш в одной из корзин
echo "Лезем в корзину $current_hash.\n"; // диагностическое сообщение
foreach($chains[$current_hash] as $start) { // роемся в корзине
$result = find_hash_in_basket($hash, $start, $current_hash); // пытаемся найти в каждой из цепочек корзины
if($result) {
return $result; // конец поиска
}
}
}
$next_number = R($current_hash); // копаем в глубину
$current_hash = factorial($next_number);
}
return false; // не нашли
}
///////////////////// ПРИМЕР //////////////////////////////////
$chains = make_chains(10, 5);
echo "Радужные таблицы готовы.\n";
var_dump($chains);
$hash = 721;
echo "Пытаемся обратить $hash.\n";
$number = search_hash($hash, $chains, 5);
echo $number . "! <= $hash <= " . ($number+1) . "!\n";
Безумная идея: использовать радужные таблицы для обращения математических функций. Например, радужная таблица для факториала:
http://ideone.com/Q22EXy
0
<?php
function word_by_index($index, $dicts) {
$sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
$result = '';
foreach($sizes as $key=>$size) {
$result .= $dicts[$key][$index % $size]; // сцепляем слово из частей
$index = floor($index / $size);
}
return $result;
}
function R($hash, $dicts, $total) {
$index = gmp_intval(gmp_mod(gmp_init($hash, 16), $total));
return word_by_index($index, $dicts);
}
function make_chain($start, $length, $dicts, $total) {
$chain['start'] = $start;
for($i = 0; $i < $length; ++$i) {
$hash = md5($start); // <-- сюда вставьте нужную хэш-функцию
// echo ">>> $hash : $start\n"; // диагностическое сообщение
$start = R($hash, $dicts, $total);
}
$chain['end'] = $hash;
echo "Chain from ${chain['start']} to ${chain['end']} is ready.\n"; // диагностическое сообщение
return $chain;
}
function make_chains($count, $length, $dicts) {
$sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
$total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
$chains = [];
mt_srand();
for($i = 0; $i < $count; ++$i) {
$word = word_by_index(mt_rand(0, $total - 1), $dicts); // начинаем цепочку с псевдослучайного слова
$chain = make_chain($word, $length, $dicts, $total);
$hash = $chain['end']; // используем конец найденной цепочки как индекс для быстрого поиска
if(!isset($chains[$hash])) $chains[$hash] = []; // если такого хэша не было в корзине, инициализируем её
if(!in_array($chain['start'], $chains[$hash])) { // проверяем на дубли
$chains[$hash][] = $chain['start']; // добавляем начало цепочки в корзину
}
}
return $chains;
}
function find_hash_in_basket($needle, $haystack_start, $haystack_end, $dicts, $total) {
echo "Роемся в цепочке от $haystack_start до $haystack_end.\n"; // диагностическое сообщение
$current_word = $haystack_start;
do {
$current_hash = md5($current_word); // <-- сюда вставьте нужную хэш-функцию
if($current_hash === $needle) {
return $current_word; // нашли слово, хэш от которого равен заданному
}
$current_word = R($current_hash, $dicts, $total); // роем в глубину
} while($current_hash !== $haystack_end);
return false; // не нашли
}
function search_hash($hash, $dicts, $chains, $length) {
$sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
$total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
$current_hash = $hash;
for($i = 0; $i < $length; ++$i) {
if(isset($chains[$current_hash])) { // нашли хэш в одной из корзин
echo "Лезем в корзину $current_hash.\n"; // диагностическое сообщение
foreach($chains[$current_hash] as $start) { // роемся в корзине
$result = find_hash_in_basket($hash, $start, $current_hash, $dicts, $total); // пытаемся найти в каждой из цепочек корзины
if($result) {
return $result; // конец поиска
}
}
}
$next_word = R($current_hash, $dicts, $total); // копаем в глубину
$current_hash = md5($next_word);
}
return false; // не нашли
}
///////////////////// ПРИМЕР //////////////////////////////////
$dicts= array(
array('свино', 'овце', 'тигро', 'косатко', 'зубро', 'волко', 'кото'),
array('собака', 'бык', 'лев', 'дельфин', 'бизон')
);
$chains = make_chains(15, 15, $dicts);
echo "Радужные таблицы готовы.\n";
var_dump($chains);
$hash = '360629d3cf05cee0240a23e1251c58a0';
echo "Пытаемся обратить $hash.\n";
$word = search_hash($hash, $dicts, $chains, 15);
echo "$hash is reversed to $word.\n";
По просьбам трудящихся.
Выхлоп на Ideone:
http://ideone.com/otdCDg
+1
<?php
function split_hash($hash, $sizes) {
$cnt = count($sizes); // количество словарей
$partSize = floor(128/4/$cnt); // размер части хэша в тетрадах
$result = array();
foreach($sizes as $size) {
$tmp = substr($hash, 0, $partSize); // разбиваем хэш по тетрадам на равные части
$hash = substr($hash, $partSize);
$result[] = gmp_intval(gmp_mod(gmp_init($tmp, 16), $size)); // возвращаем остаток от деления фрагмента хэша
// на размер словаря
}
return $result;
}
function R($hash, $dicts) {
$sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
$indices = split_hash($hash, $sizes);
$result = '';
foreach($indices as $dictNumber=>$index) {
$result .= $dicts[$dictNumber][$index]; // сцепляем слово из частей
}
return $result;
}
function make_chain($start, $length, $dicts) {
for($i = 0; $i < $length; ++$i) {
$hash = md5($start);
echo $hash . ' : ' . $start . PHP_EOL;
$start = R($hash, $dicts);
}
}
make_chain('свинособака', 10, array(
array('свино', 'овце', 'тигро', 'косатко', 'зубро', 'волко', 'кото'),
array('собака', 'бык', 'лев', 'дельфин', 'бизон')
));
Выводит:
360629d3cf05cee0240a23e1251c58a0 : свинособака
1f7ad860b089c0e1141de02ac1e6e3ef : волкобизон
6f2e4e3025c9dd840f1fa4a78792ef31 : котобизон
d5812761186013ecca674a2704d5a081 : зубробык
b4499d259156939bb74cbc1743632c8d : овцебизон
c28ad194fcc581f538d109f8acb6b1f5 : волкобык
663a3e06c88185db8fd4f81829e66b85 : котодельфин
30bb70e972bf073c7aa4ec93c8d5b9a0 : косаткодельфин
cc31cd8554c1add0128013bba2e47317 : волколев
d88e78b7340637370628848b1957b4c2 : котособака
−99
Сижу я, короче, на работе сейчас, кофе пью из термоса и программирую на «Python».
Вдруг через минуту начинаю чувствовать непереносимый запах говна.
Ну, думаю, Россия че, оглядываюсь по сторонам на сидящих рядом программистов.
Вроде никаких людей маргинального вида нет.
У меня у самого тоже никаких сюрпризов не ощущается.
Ну думаю, все, глючит меня.
Уже практически тянусь за экстренной таблеткой оланзапина в рюкзак, как вдруг с кресла прямо за мной встает коллега и идет к туалету.
Запах испражнений усиливается многократно, на лицах сидящих рядом людей возникают недовольные гримасы.
Смотрю на его компьютер, а там открыт код на «PHP».
Он ушел, а запах некоторый остался до сих пор.
Я замечательно попил кофе.
0
public function store($variable){
$insert = "INSERT INTO `".$variable['table']."`(";
foreach ($variable as $key => $value) {
if(trim($key) != 'table'){
$insert = $insert.''.$key.',';
}
}
$insert = substr($insert,0,-1);
$insert = $insert.") VALUES(";
foreach ($variable as $key => $value) {
if(trim($key) != 'table'){
if(trim(gettype($value)) == 'string'){
$insert = $insert.'\''.$value.'\',';
}else{
$insert = $insert.''.$value.',';
}
}
}
$insert = substr($insert,0,-1);
$insert = $insert.')';
foreach ($variable as $key => $value) {
if(trim($key) != 'table'){
if(trim(gettype($value)) == 'string'&&strlen($value) < 512){
$variable[$key] = $key.' TEXT(512),
';
}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 512&&strlen($value) <= 1024){
$variable[$key] = $key.' TEXT(1024),
';
}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 1024&&strlen($value) <= 2048){
$variable[$key] = $key.' TEXT(2048),
';
}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 2048&&strlen($value) <= 4096){
$variable[$key] = $key.' TEXT(4096),
';
}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 4096){
$variable[$key] = $key.' TEXT(65535),
';
}
if(gettype($value) == 'integer'){
$variable[$key] = $key.' INT(128),
';
}
if(gettype($value) == 'double'||gettype($value) == 'float'){
$variable[$key] = $key.' FLOAT(53),
';
}
}
};
$table = "
CREATE TABLE ".$variable['table']."(
id INT(20) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
";
foreach ($variable as $key => $value) {
if(trim($key) != 'table'){
$table = $table.''.$value;
}
};
$table = substr($table,0,-3);
$table = $table.'
)';
}
https://habr.com/ru/sandbox/125898/