What does this encoded string say, and how did you find out? - php

I'm trying to build a catalog of products and I don't know what it is doing, and I'd like to peek inside. Can someone figure out how to print the source code and tell me how?
<?php ob_start();?>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<? $a=ob_get_contents(); ob_end_clean(); eval(gzinflate(base64_decode($a))); ob_end_flush(); ?>

Change the eval call at the end of that junk to say echo instead. it'll spit out the decoded code.
[...snip....]; ob_end_clean(); echo(gzinflate(base64_decode($a))); ob_end_flush(); ?>
^^^^---here

Instead of eval(gzinflate(base64_decode($a))), do echo gzinflate(base64_decode($a)) and repeat with the result until you get useful source code.

Related

Render html to page from database PHP [duplicate]

How would one go about showing PHP code on user end. Sort of like w3School does?
Having lets say a grey area div, and then showing the code in there without activating it?
You can use html entities <?php in the html it will be rendered as <?php
You can use htmlspecialchars to encode your code to use html entities.
Use <pre> or <code> tags to wrap your code.
Take a look at http://php.net/manual/en/function.highlight-string.php to further see how you can make the code look pretty.
Since passing a large block of code to highlight_string() can be messy, you may want to look at output buffering in combination with highlight_string to output colorized php code.
Something like:
<?php
ob_start();
?>
phpinfo();
echo "this echo statement isn't executed";
<?php
$code = ob_get_clean();
highlight_string($code);
?>
Simply you can use following code to display php code on webpage.
highlight_string("<?php print('This is php code.'); ?>");
It will give output like
<?php print('This is php code.'); ?>
The first step is to not wrap that code in PHP tags. So instead of this:
<?
var sample = "code";
?>
You would have this:
var sample = "code";
It's not the code itself which triggers the server-side compile from the PHP engine, it's the tags which indicate to that engine what blocks of the file are code and what are not. Anything that's not code is essentially treated as a string and output to the page as-is for the browser to interpret.
Once you're outputting the code, it's then a matter of formatting it. The old standard is to wrap it in pre tags to get rid of HTML-ish formatting:
<pre>
var sample = "code";
</pre>
You can also apply CSS style to the pre tags (or any other tags you want to use for displaying code, such as div) as you see fit.
There are also very useful code syntax highlighting plugins and tools to make the code a lot "prettier". Google-code-prettify often comes highly recommended.
Typically this is done by showing code within <pre> or <code> tags.
You can use this template........
######################################################################
echo "<h2><br>Source Code of ".basename((string)__FILE__) . "</h2><hr>";
show_source(__FILE__);
echo "<hr>";
echo "<h2>Output of ".basename((string)__FILE__) . "<hr></h2>";
#######################################################################
It will show the source code and output following.
use the header function of php, this will rea
<?php
header("content-type: text/plain");
?>
The PHP code will just be a string that you can echo or print onto the page, no different than any other data you want PHP to display for you. If you want to keep the formatting (ex. the indentation), put it inside a <pre><code> block.
Ex:
$php_code = '<?php $foo = bar; ?>';
echo "<pre><code>$php_code</code></pre>";

PHP echo-ing a PHP code inside an echo

I'm quite new here. I'm trying to make a blog/journal site that allows users to post their own journal. I'm still quite reluctant on making it because I am really afraid of malicious code injections.
So here's a sample code:
<?php
$test = "<b>blah</b>"; //User input from SQL
echo "$test";
?>
What will come out is just the word "blah" in bold right? What I was trying to achieve was to echo "<b>blah</b>" instead. I don't want people to put some PHP codes that can actually mess up my whole web page. Please keep in mind that the variable $test is actually a MYSQL query, so that variable will be needed as an example. I know you can do echo '$test'; but it just comes out as "$test" instead. I feel like pulling my hair out I can't figure it out yet.
The second solution I know of is the htmlspecialchars(); function, but I want the strings to display as what I typed, not the converted ones...
Is there any way I can do that?
I think the OP wants the HTML itself to be output to the page, and not have the tags stripped. To achieve this, you can run the string first through htmlentities()
$test = '<b>blah</b>';
echo htmlentities($test);
This will output:
<b>blah</b>
Which will render in the page as
<b>blah</b>
Echo don't execute PHP code from string. This is impossible and this is not security hole in your code.
You can use a template engine like Twig for exemple.
If htmlspecialchars(); is not the one you are looking for, try the header() option.
header('Content-type: text/plain');
When you are gonna give <b>Hi</b> to a browser, it will be displayed in Bold and not the text be returned. But you can try this way, outputting it inside a <textarea></textarea>.
Or the other way is to use htmlentities():
<?php
$test = "<b>blah</b>"; //User input from SQL
echo htmlentities("$test");
?>

PHP Output buffering contains something before script starts

i have a site, where i buffer some output with
ob_start();
...
and it worked fine until today i updated my debian from an older php5.3 to the latest php5.3.3-7+squeeze8
Now i sometimes have something in the output buffer before i call it the first time
please don't answer things like
"header must be called before any output is sent."
(I know, I work a lot with output buffers)
when i set an extra ob_get_clean(); at the very first line of my script, it works
<?
ob_get_clean();
it seems, like php is creating some output beforehand
if i put the first line
<? print_r(ob_get_clean()); ?>
then i see, that there is an empty string already in the buffer:
""
on all other pages it isn't, there ob_get_clean(); contains
null
is it possible you have some " " in front of your <?php somewhere? or wrong file encoding issue its usually some kind of that nature, check your files and include files.
Now i sometimes have something in the output buffer before i call it
the first time
It'll be much easier if you give us some info about that mysterious data.
perhaps a case of BOM character?
more info here
i found it:
i had no invisible character in front, it was something different: i called ob_end_clean() one time too much:
this was my code, inside a function i call:
function print_something(){
ob_start();
echo some stuff...
echo ob_get_clean();
ob_end_clean(); // this was the bug!
}
it seems, that you can clear your main output buffer ;)

Printing $node vars in page.tpl.php

In Drupal's page.tpl.php
<?php foreach($node->og_groups as $test) {dpm($test);} ?>
Gives me
alt text http://img.skitch.com/20091229-ekf6xqg5dxq6cgjsgfty74umfx.jpg
But when I do
<?php foreach($node->og_groups as $test) {print($test);} ?>
The value doesn't show up. this is kinda frustating..
Any help is appreciated.
Cheers!
As Steve Michel suggested: Try doing a view source on the rendered page; it may be going to the top of the HTML and may not be visible in the browser output.
Drupal first executes all code, collecting output into a variable. At the very end, this variable is print out. If you print or var_dump something in between, this will be at the very top of the output (since that's done before any of the regular content is printed).
You even figured out the answer: use drupal_set_message (for which dpm is an abbreviation I guess?) to insert text in a nicely formatted way, somewhere in the content part of the page rather than before the tag.
If you need to print out arrays, you can use dpm(print_r($array, 1)) -- the 1 argument makes print_r return the formatted output (and pass it to dpm) rather than printing it out directly.
Try doing a view source on the rendered page; it may be going to the top of the HTML and may not be visible in the browser output.
You can use
<?php foreach($node->og_groups as $test) print_r($test) ?>
You can do this:
$node = $variables['node'];
and then use it like a normal node.

If i do print_r in PHP, it prints the array in junk

How can I print the array in a Tree-like format--making it easier to read?
Try:
<pre><?php print_r($var); ?></pre>
It will give the proper tree structure that HTML's whitespace policy trims out.
Are you wrapping the output in <pre> tags? That should get you pretty decent output, because it will show the spaces. Another option would be to install the xdebug extension, which then can replace var_dump so that it generates more-readable HTML output.
function pr($var)
{
print '<pre>';
print_r(htmlspecialchars($var));
print '</pre>';
}
pr($myArray);
I found it's a good idea to print_r as follows
printf("<pre>%s</pre>", print_r($array, true));
It may not be ideal, but it's easier to read.
Try taking a look at Zend_Debug, a relatively plug-and-play module from the Zend Framework which does an excellent job at effectively dumping complex variables.
Usage:
$my_var = new StdObject(); // or whatever
Zend_Debug::dump($my_var);
die; // optional, prevents routing, forwarding away, etc.
You could print it into the error log:
error_log(print_r($myarray,1));
Note that you will see \n instead of carriage returns because it has to be collapsed in a single line.
Mabe the output looks like junk in the webpage. Try looking at the source of the page and it will be in tree-like format I suppose.
As many people previously mention, make sure to wrap it around a <pre> tag.
I would take an extra precautions to make sure nothing is wrapping that <pre> as well, such as <p> or <div> with a CSS class that can override the Pre's Style
May I suggest using var_export($array)?
It formats values with parsable php syntax
And even when you forget to output <pre> and </pre> tags,
while not very easy on the eye,
its output still makes more sense then print_r informal bunch of data.

Categories