├── .gitattributes
├── 10-1.php
├── 10-2.php
├── 13-1.php
├── 13-2.php
├── 14-1.php
├── 14-10.php
├── 14-11.php
├── 14-12.php
├── 14-2.php
├── 14-4.php
├── 14-5.sql
├── 14-6.php
├── 14-8.sql
├── 14-9.sql
├── 15-1.php
├── 16-1.php
├── 16-2.php
├── 17-0.php
├── 17-02.php
├── 17-03.php
├── 17-1.php
├── 17-1.sql
├── 17-2.php
├── 18-1.php
├── 18-2.php
├── 18-3.php
├── 18-4.php
├── 18-5.php
├── 19-1.php
├── 19-2.php
├── 20-1.html
├── 20-2.php
├── 20-3.js
├── 27-1.php
├── 27-2.php
├── 28-1.php
├── 28-1.sql
├── 28-10.php
├── 28-11.php
├── 28-2.php
├── 28-3.php
├── 28-4.php
├── 28-5.php
├── 28-6.php
├── 28-7.php
├── 28-8.php
├── 28-9.php
├── 29-1-login.php
├── 29-2-viewbonus.php
├── 29-3.php
├── 30-1.php
├── 30-2.php
├── 31-1.php
├── 32-1.php
├── 32-2.php
├── 33-1.php
├── 33-2.php
├── 33-3.php
├── 34-1.php
├── 35-1.php
├── 35-1.sql
├── 4-1.php
├── 4-2.php
├── 5-1.php
├── 6-1.php
├── 7-1.php
├── 7-2.php
├── 7-3.php
├── 7-4.php
├── 7-5.php
├── 8-1.php
├── 8-2.php
├── 9-1.php
├── 9-2.php
├── 9-3.php
├── 9-4.php
├── 9-5.php
├── 9-6.php
├── 9-7.php
├── 9-8.php
├── 9-9.php
├── 9781430260431.jpg
├── Contributing.md
├── ConvertController.php
├── LICENSE.txt
├── README.md
├── aes.inc
├── authentication.txt
├── convertForm.blade.php
├── errata.md
├── log_service.php
└── logger.php
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/10-1.php:
--------------------------------------------------------------------------------
1 |
34 |
--------------------------------------------------------------------------------
/10-2.php:
--------------------------------------------------------------------------------
1 | isFile()) {
9 | $directorySize += $fileinfo->getSize();
10 | }
11 | if ($fileinfo->isDir() && !$fileinfo->isDot()) {
12 | $directorySize += directorySize($directory.'/'.$fileinfo->getFilename());
13 | }
14 | }
15 |
16 | return $directorySize;
17 |
18 | }
19 |
20 | $directory = '/home/frank';
21 | $totalSize = round((directorySize($directory) / 1048576), 2);
22 | printf("Directory %s: %f MB", $directory, $totalSize);
23 | ?>
24 |
--------------------------------------------------------------------------------
/13-1.php:
--------------------------------------------------------------------------------
1 | ", $name);
8 | printf("The address %s will soon be a spam-magnet!
", $email);
9 | }
10 | ?>
11 |
12 |
Instructions regarding resetting your password have been sent to 26 | $address
"; 27 | ?> 28 | -------------------------------------------------------------------------------- /14-11.php: -------------------------------------------------------------------------------- 1 | prepare("UPDATE logins SET pswd=? WHERE hash=?"); 17 | $stmt->bind_param("ss", password_hash($pswd, PASSWORD_DEFAULT), $id); 18 | $stmt->execute(); 19 | 20 | // Display the new password 21 | echo "Your password has been reset to {$pswd}.
"; 22 | ?> 23 | -------------------------------------------------------------------------------- /14-12.php: -------------------------------------------------------------------------------- 1 | FB_APP_ID, 6 | 'app_secret' => FB_APP_SECRET, 7 | 'default_graph_version' => 'v2.11', 8 | ]); 9 | 10 | $helper = $fb->getJavaScriptHelper(); 11 | 12 | try { 13 | $accessToken = $helper->getAccessToken(); 14 | $fb->setDefaultAccessToken((string) $accessToken); 15 | $response = $fb->get('/me?fields=id,name'); 16 | } catch(\Facebook\Exceptions\FacebookResponseException $e) { 17 | // When Graph returns an error 18 | Error('Graph returned an error: ' . $e->getMessage()); 19 | exit; 20 | } catch(\Facebook\Exceptions\FacebookSDKException $e) { 21 | // When validation fails or other local issues 22 | Error('Facebook SDK returned an error: ' . $e->getMessage()); 23 | exit; 24 | } 25 | 26 | $me = $response->getGraphUser(); 27 | // $me is an array with the id of the user and any additional fields requested. 28 | -------------------------------------------------------------------------------- /14-2.php: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /14-5.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE logins ( 2 | id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 | username VARCHAR(255) NOT NULL, 4 | pswd CHAR(40) NOT NULL 5 | ); 6 | -------------------------------------------------------------------------------- /14-6.php: -------------------------------------------------------------------------------- 1 | prepare("SELECT username, pswd FROM logins 25 | WHERE username=? AND pswd= ?"); 26 | 27 | $stmt->bind_param('ss', $_SERVER['PHP_AUTH_USER'], password_hash($_SERVER['PHP_AUTH_PW'], PASSWORD_DEFAULT)); 28 | 29 | $stmt->execute(); 30 | 31 | $stmt->store_result(); 32 | 33 | // Remember to check for erres also! 34 | if ($stmt->num_rows == 0) 35 | authenticate_user(); 36 | } 37 | 38 | ?> 39 | -------------------------------------------------------------------------------- /14-8.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE subscribers ( 2 | id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 | email VARCHAR(255) NOT NULL, 4 | hash CHAR(40) NOT NULL, 5 | read CHAR(1) 6 | ); 7 | -------------------------------------------------------------------------------- /14-9.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE logins ( 2 | id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 | email VARCHAR(55) NOT NULL, 4 | username VARCHAR(16) NOT NULL, 5 | pswd CHAR(32) NOT NULL, 6 | hash CHAR(32) NOT NULL 7 | ); 8 | -------------------------------------------------------------------------------- /15-1.php: -------------------------------------------------------------------------------- 1 | 10 | Class notes must be uploaded in PDF format."; 21 | } else { 22 | // Move uploaded file to final destination. 23 | $result = move_uploaded_file($_FILES['classnotes']['tmp_name'], 24 | FILEREPOSITORY . $_POST['lastname'] . '_' . $_FILES['classnotes']['name']); 25 | if ($result == 1) echo "File successfully uploaded.
"; 26 | else echo "There was a problem uploading the file.
"; 27 | } 28 | } 29 | } 30 | else { 31 | echo "There was a problem with the upload. Error code {$_FILES['classnotes']['error']}
"; 32 | } 33 | ?> 34 | -------------------------------------------------------------------------------- /16-1.php: -------------------------------------------------------------------------------- 1 | Scan results for $target"; 17 | 18 | // Execute the scan 19 | foreach ($range as $port) { 20 | $result = @fsockopen($target, $port,$errno,$errstr,1); 21 | if ($result) echo "Socket open at port $port
"; 22 | } 23 | 24 | ?> 25 | -------------------------------------------------------------------------------- /16-2.php: -------------------------------------------------------------------------------- 1 | 21 | 22 | "; 41 | echo "$title
$content
"; 32 | 33 | // Output list of requested articles 34 | 35 | echo "Recently Viewed Articles
"; 36 | echo "Thank you for updating your profile.
"; 20 | 21 | if ($available == 0) { 22 | echo "Your tickets will be reassigned to another technician.
"; 23 | } 24 | 25 | } else { 26 | echo "There was a problem updating your profile.
"; 27 | } 28 | 29 | ?> 30 | -------------------------------------------------------------------------------- /31-1.php: -------------------------------------------------------------------------------- 1 | query($query)) { 11 | 12 | printf("%s | ", $field->name); 19 | 20 | printf("||||
---|---|---|---|---|
%s | %s | ", $employee['First Name'], $employee['Last Name']); 30 | printf("%s | %s | ", $employee['Email Address'], $phone); 31 | printf("|
Payment Number | Balance | 42 |Payment | Principal | Interest | 43 |
%d | ", $row[0]); 47 | printf("$%s | ", $row[1]); 48 | printf("$%s | ", $row[2]); 49 | printf("$%s | ", $row[3]); 50 | printf("$%s |