@extends('layouts.sidebar')
@section('content')
✔️";
$wfalse = "
❌ | ";
$utrue = "❗ | ";
$ufalse = "✔️ | ";
$unull = "➖ | ";
$server = $_SERVER['SERVER_NAME'];
$uri = $_SERVER['REQUEST_URI'];
// Tests if a URL has a valid SSL certificate
function has_ssl( $domain ) {
$ssl_check = @fsockopen( 'ssl://' . $domain, 443, $errno, $errstr, 30 );
$res = !! $ssl_check;
if ( $ssl_check ) { fclose( $ssl_check ); }
return $res;
}
// Changes probed URL to HTTP if no valid SSL certificate is present, otherwise an error would be thrown
if (has_ssl($server)) {
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
} else {
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
}
function getUrlSatusCode($url, $timeout = 3)
{
$ch = curl_init();
$opts = array(CURLOPT_RETURNTRANSFER => true, // do not output to browser
CURLOPT_URL => $url,
CURLOPT_NOBODY => true, // do a HEAD request only
CURLOPT_TIMEOUT => $timeout);
curl_setopt_array($ch, $opts);
curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $status;
}
//Files or directories to test if writable
$wrt1 = is_writable('.env');
$wrt2 = is_writable('database/database.sqlite');
//Files or directories to test if accessible externally
$url1 = getUrlSatusCode($actual_link . '/../../.env');
$url2 = getUrlSatusCode($actual_link . '/../../database/database.sqlite');
?>
{{__('messages.Debugging information')}}
@if($url1 == '200' or $url2 == '200')
{{__('messages.security.risk')}}
@endif
Write access
{{__('messages.Write access.description.1-3')}} '✔️' {{__('messages.Write access.description.2-3')}} '❌' {{__('messages.Write access.description.3-3')}}
{{__('messages.File')}} |
{{__('messages.Hover for more')}} |
{{ base_path(".env") }} |
0) {echo "$wtrue";} else {echo "$wfalse";} ?>
{{ base_path("database/database.sqlite") }} |
0) {echo "$wtrue";} else {echo "$wfalse";} ?>
{{__('messages.Security')}}
{{__('messages.security.risk.1-3')}} '✔️' {{__('messages.security.risk.2-3')}} '❗' {{__('messages.security.risk.3-3')}}
{{__('messages.Link')}} |
{{__('messages.Hover for more')}} |
{{ url('/.env') }} |
{{ url('/database/database.sqlite') }} |
@endsection