The Cache: Technology Expert's Forum
 
*
Welcome, Guest. Please login or register. September 16, 2019, 01:37:04 PM

Login with username, password and session length


Pages: [1]
  Print  
Author Topic: displaying php code  (Read 5304 times)
mampy
Journeyman
***
Offline Offline

Posts: 68


View Profile
« on: January 04, 2009, 02:18:23 PM »

somefile.php;

Code:
<?php

   
echo "hello world";

?>





displayphp.php
Code:
<?php

$thetext 
file_get_contents('somefile.php');

echo 
"<html><br><hr><br><pre>";

echo 
$thetext;

echo 
"</pre><br><hr><br></html>";

?>




put them both in same dir, run displayphp.php in a browser and get a blank in between the horizontal rule tags but if you view source the php code is in there..   little puzzle... any takers on

why this is happening and how to get the browser to actually
display the php code in that file, i thought the pre took care of
it obviously its getting blocked somehow...  thoughts?


see, here is the 'page source':
Code:
<html><br><hr><br><pre><?php

   
echo "hello world";

?>


</pre><br><hr><br></html>



« Last Edit: January 04, 2009, 02:29:38 PM by mampy » Logged
vsloathe
vim ftw!
Global Moderator
Lifer
*****
Offline Offline

Posts: 1669



View Profile
« Reply #1 on: January 04, 2009, 05:06:20 PM »

file_get_contents could be executing the PHP like it would if you went to a URL?
Logged

hai
Bompa
Administrator
Lifer
*****
Offline Offline

Posts: 564


Where does this show?


View Profile
« Reply #2 on: January 04, 2009, 06:14:54 PM »

it's messed up html

not sure cuz i'm not a php guy but what i would try is
replace the left and right angle brackets in $thetest with
the &ltg; or wtf the equivs are

before this:

echo $thetext;

Logged

"The most beautiful and profound emotion we can experience is the sensation of the mystical..." - Albert Einstein
perkiset
Olde World Hacker
Administrator
Lifer
*****
Offline Offline

Posts: 10096



View Profile
« Reply #3 on: January 04, 2009, 11:34:29 PM »

Zactly Bomps - the <?php looks (to the html parser) as the start of a tag and the ?> looks like the end of one.

I think this'd about do it:

<?php

die(str_replace(array('<', '>'), array('&LT;', '&GT;'), file_get_contents('myFile.php'));

?>

But if you simply made a symbolic link to the page and named it .phps and Apache is set up correctly, it'll output all nice'n purdy for you. BEWARE - huge security risk letting anyone see your code...
Logged

It is now believed, that after having lived in one compound with 3 wives and never leaving the house for 5 years, Bin Laden called the U.S. Navy Seals himself.
mampy
Journeyman
***
Offline Offline

Posts: 68


View Profile
« Reply #4 on: January 09, 2009, 07:40:28 AM »

if php was executing it at file_get_contents it would at least just give me a 'hello world' like if i included it, right?

So somewhere in the first set of the puzzle, the browser post php process stripped out the php even though the PRE tag is supposed to mean, dont fuck with this text ive PREFORMATTED it, so the browser is gonna dick with me there cause it saw the php tag...?

but it doesnt dick with me here:  (rolls eyes)

Code:
<?php


echo "<pre>";

echo 
makedisplayableASCII();

echo 
"</pre>";

?>


<?php

 
function makedisplayableASCII(){
  
  
$a "";
  
  for(
$i=0$i 256$i++){
    
$a .= $i." is ".chr($i)."<br>";
  }

  return 
$a;
 }
 
?>



Where are all these weird rules written down about where im gonna get dicked with?!? oh yeah here.  thanks!

ROFLMAO

Logged
mampy
Journeyman
***
Offline Offline

Posts: 68


View Profile
« Reply #5 on: January 09, 2009, 07:49:03 AM »

Wait a second, it is still messing with me cause it should technically be displaying the BR tag if it was a true 'preformatted' block of text on that last code block but

(rolls eyes again)
Logged
jammaster82
Lifer
*****
Offline Offline

Posts: 666


Thats craigs list for ya


View Profile
« Reply #6 on: August 26, 2009, 09:54:42 AM »

ok i worked it out... these # characters are htmlentities..

in order to display php code on a webpage you can use
the following function that takes $rawhtml and leaves
$displayablehtmlentities with an html version that will
display ascii characters 33 through 255

in order to display php code without altering the apache
settings you can do the following...(probably what they
are doing in this code window:)

Code:
$displayablehtmlentities = str_replace(
    array('!','"','#','$','%','&','''',
'(',')','*','+',',','-','.','/','0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?','@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','[','\',']','^','_','`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','{','|','}','~','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',' ','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','')

,
    array('#33','#34','#35','#36','#37','#38','#39',
'#40','#41','#42','#43','#44','#45','#46','#47','#48','#49','#50','#51','#52','#53','#54','#55','#56','#57','#58','#59','#60','#61','#62','#63','#64','#65','#66','#67','#68','#69','#70','#71','#72','#73','#74','#75','#76','#77','#78','#79','#80','#81','#82','#83','#84','#85','#86','#87','#88','#89','#90','#91','#92','#93','#94','#95','#96','#97','#98','#99','#100','#101','#102','#103','#104','#105','#106','#107','#108','#109','#110','#111','#112','#113','#114','#115','#116','#117','#118','#119','#120','#121','#122','#123','#124','#125','#126','#127','#128','#129','#130','#131','#132','#133','#134','#135','#136','#137','#138','#139','#140','#141','#142','#143','#144','#145','#146','#147','#148','#149','#150','#151','#152','#153','#154','#155','#156','#157','#158','#159','#160','#161','#162','#163','#164','#165','#166','#167','#168','#169','#170','#171','#172','#173','#174','#175','#176','#177','#178','#179','#180','#181','#182','#183','#184','#185','#186','#187','#188','#189','#190','#191','#192','#193','#194','#195','#196','#197','#198','#199','#200','#201','#202','#203','#204','#205','#206','#207','#208','#209','#210','#211','#212','#213','#214','#215','#216','#217','#218','#219','#220','#221','#222','#223','#224','#225','#226','#227','#228','#229','#230','#231','#232','#233','#234','#235','#236','#237','#238','#239','#240','#241','#242','#243','#244','#245','#246','#247','#248','#249','#250','#251','#252','#253','#254','#255')
,
$rawhtml);



i wasnt about to type all that in and didnt know if i left it here for me to never forget if it would preserve the actual unicode and specific characters that are the very point of this brain hurting problem that has held my palm pilot based simple php editor for sooo long lol....

so i had to write a little program to write that code... loll .... whats to stop some neural network database driven app to write code this way then simply 'include' the code in itself... hmmm  programs writing programs like this might be the first step to TRUE a.i. Friends of Ricky E. Moose Style...

Code:
<?php

$thischar 
33;
$code1='';
$code2='';
$code1='    array(';
$code2='    array(';

for (
$thischar=33$thischar<255$thischar++)
{
//echo chr($thischar);
//array one code..
//                                          
if ($thischar==39){ //       doublequote
  $code1=$code1.chr(39).chr($thischar).chr($thischar).chr(39).chr(44).chr(13);
  $code2=$code2.chr(39).'#'.$thischar.chr(39).chr(44).chr(13).chr(10);


} else  {
//                                   (comma)
$code1=$code1.chr(39).chr($thischar).chr(39).chr(44);//.chr(13);
$code2=$code2.chr(39).'#'.$thischar.chr(39).chr(44);//.chr(13);
}
}

$thischar=255;
//                                       (no comma last time)
$code1=$code1.chr(39).chr($thischar).chr(39).')'.chr(13);
$code2=$code2.chr(39).'#'.$thischar.chr(39).')'.chr(13);

$outstr ='$displayablehtmlentities = str_replace('.chr(13);
$outstr.=$code1.chr(13).chr(44).chr(13).$code2;
$outstr.=','.chr(13).'$rawhtml);'.chr(13);


echo 
$outstr;

file_put_contents('yourfunction.php',$outstr);

// LOL a.i. mechanism for hire:
// for example:
$rawhtml ='<a href=link.html>click me</a>';
include 
'yourfunction.php';
echo 
$displayablehtmlentities;
//
// ***** LOL
?>



Logged

The watched pot, never boils... But if you walk away from it , the soup burns.  What gives?
rcjordan
Lifer
*****
Offline Offline

Posts: 882


View Profile
« Reply #7 on: August 26, 2009, 10:44:38 AM »

I was going to ask about this or something similar based upon a thread over at DP about viewing php sourcecode.  So, the above code does that?  Will it pull the php from a different server, i.e., anyone's website?
Logged
perkiset
Olde World Hacker
Administrator
Lifer
*****
Offline Offline

Posts: 10096



View Profile
« Reply #8 on: August 26, 2009, 10:49:58 AM »

There's not a straight-forward way to "pull someone's code" unless they've supplied a .phps extended version of it.
Logged

It is now believed, that after having lived in one compound with 3 wives and never leaving the house for 5 years, Bin Laden called the U.S. Navy Seals himself.
rcjordan
Lifer
*****
Offline Offline

Posts: 882


View Profile
« Reply #9 on: August 26, 2009, 10:57:48 AM »

>there's not

OK. Thread was one of those "I can get source from any site" types. Some of the nicks were known to me. Made me wonder.
Logged
wilsondavid
n00b
*
Offline Offline

Posts: 6


View Profile
« Reply #10 on: December 26, 2011, 06:55:31 AM »

Code for Displaying in PHP :

<?php

                 print(" hi");
                echo " WEL COME to PHP ";
?>
Logged
Phaton
Lifer
*****
Offline Offline

Posts: 555


⎝⏠⏝⏠⎠


View Profile
« Reply #11 on: February 26, 2012, 04:30:16 PM »

Code:
<?php
  
echo "<textarea rows=20 cols=80>";
  echo 
file_get_contents("somephpfile.php");
  echo 
"</textarea>";
?>


 Coffee Break  :wq
Logged

When I was your age we used to walk to the TV to change the channel....  _̴ı̴̴̡̡̡ ̡͌l̡̡̡ ̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡
perkiset
Olde World Hacker
Administrator
Lifer
*****
Offline Offline

Posts: 10096



View Profile
« Reply #12 on: February 26, 2012, 04:35:00 PM »

<?php

if ($_GET['showMeTheCode'] == 'true')
	
die(
file_get_contents([$_SERVER['SCRIPT_FILENAME']));

// other code ...

?>

http://www.mydomain.com/myScript.php?showMeTheCode=true

 Nerd
Logged

It is now believed, that after having lived in one compound with 3 wives and never leaving the house for 5 years, Bin Laden called the U.S. Navy Seals himself.
Pages: [1]
  Print  
 
Jump to:  

Perkiset's Place Home   Best of The Cache   phpMyIDE: MySQL Stored Procedures, Functions & Triggers
Politics @ Perkiset's   Pinkhat's Perspective   
cache
mart
coder
programmers
ajax
php
javascript
Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks


Valid XHTML 1.0! Valid CSS!