///
Explore grátis as questões de concursos e chegue mais preparado nas provas.
632 questões encontradas
Considere a função fx escrita na linguagem PHP e assinale a alternativa que apresenta um código que poderia ser utilizado para substituir a linha de código return fx($n - 1) + fx($n - 2); de forma a ter resultado equivalente à função fx original.
function fx($n) {
if ($n < 0) {
return "ERRO!";
} elseif ($n == 0) {
return 0;
} elseif ($n == 1) {
return 1;
} else {
return fx($n - 1) + fx($n - 2);
}
}Considere as afirmativas a seguir a respeito das linguagens de programação Python e PHP e assinale a alternativa correta.
I. Tanto PHP quanto Python admitem a passagem de funções como parâmetros.
II. Apenas PHP admite a passagem de funções como parâmetros, enquanto Python não apresenta tal característica.
III. Tanto PHP quanto Python podem ser embutidos em código HTML, permitindo a criação de páginas web dinâmicas sem a necessidade de arquivos separados para o script.
IV. Apenas PHP pode ser embutido em código HTML, permitindo a criação de páginas web dinâmicas sem a necessidade de arquivos separados para o script, não sendo esta uma característica da linguagem Python.
V. Tanto PHP quanto Python suportam herança, característica do paradigma de orientação a objetos.
VI. Tanto PHP quanto Python suportam herança múltipla.
João é desenvolvedor da Assessoria de Soluções em Software (ASS) de um tribunal. Ele está fazendo uso do suporte a sessões no PHP (versão 8) de modo a preservar certos dados através dos acessos subsequentes.
Sendo assim, João utilizará a função de manipulação de sessão:
Analise o seguinte trecho de código em PHP (PHP 7), que realiza uma consulta em um banco de dados utilizando a extensão mysqli:
<?php
function totalEquipamentos($conn, $fabricante){
$sql = "SELECT COUNT(*) AS total
FROM equipamento
WHERE fabricante = '$fabricante'";
$resultado = mysqli_query($conn, $sql);
$linha = mysqli_fetch_assoc($resultado);
if($linha['total'] > 2){
return "Alta produção";
} else {
return "Baixa produção";
}
}
$conn = mysqli_connect("localhost","user","pass","industria");
echo totalEquipamentos($conn, "Alpha");
?>Considere que a tabela equipamento possui os seguintes registros:
| id | nome | fabricante |
|---|---|---|
| 1 | Sensor A | Alpha |
| 2 | Sensor B | Alpha |
| 3 | Sensor C | Alpha |
| 4 | Sensor D | Beta |
Qual será a saída exibida pela execução do script?
Em sistemas web, a integração entre PHP e MySQL utilizando a extensão mysqli permite executar consultas parametrizadas para prevenir ataques de injeção de SQL. Analise o seguinte trecho de código PHP:
php
$conn = mysqli_connect("localhost", "root", "senha", "escola");
$stmt = mysqli_prepare($conn, "SELECT * FROM alunos WHERE curso = ? AND situacao = ?");
mysqli_stmt_bind_param($stmt, "ss", $curso, $situacao);
$curso = "Informática";
$situacao = "ativo";
mysqli_stmt_execute($stmt);Sobre o assunto, analise as assertivas a seguir:
I. A função mysqli_prepare pré-compila a instrução SQL no servidor antes da vinculação dos parâmetros, separando estrutura e dados e impedindo que valores maliciosos alterem a instrução.
II. O segundo argumento "ss" da função mysqli_stmt_bind_param indica que ambos os parâmetros são do tipo string, sendo necessário utilizar "ii" caso os parâmetros fossem do tipo inteiro.
III. As variáveis $curso e $situacao devem ser obrigatoriamente inicializadas antes da chamada de mysqli_stmt_bind_param para que a vinculação ocorra corretamente.
IV. A consulta parametrizada utilizada no código é funcionalmente equivalente a concatenar diretamente os valores das variáveis na string SQL, diferenciando-se apenas pela sintaxe utilizada.
Quais estão corretas?
Analise o seguinte trecho de código PHP para conexão com um banco de dados MySQL:
<?php
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "mydb";
// Cria conexão
$conn = new mysqli($servername, $username, $password, $dbname);
// Verifica conexão
if ($conn->connect_error) {
die("Conexão falhou: " . $conn->connect_error);
}
echo "Conexão bem-sucedida";
$conn->close();
?>Assumindo que as credenciais estão corretas, qual é a principal vulnerabilidade de segurança que esse código NÃO aborda ao interagir com o banco de dados?
Considerando que o protocolo HTTP é stateless, como o PHP mantém o estado de uma sessão entre diferentes requisições de um mesmo usuário?
Um formulário HTML utiliza o método POST para enviar dados. No lado do servidor, em PHP, qual superglobal deve ser utilizada para acessar os dados enviados de forma segura e qual a principal razão para preferir POST em vez de GET para dados sensíveis?
Considere que o script PHP a seguir é executado em um servidor Web com PHP instalado e a extensão GD devidamente configurada. Considere ainda que, no diretório em que está o script em questão, existe um arquivo fonts/font.ttf que armazena um formato de fonte.
1 <?php
2
3 function gerarImagem($largura, $altura, $texto) {
4 $imagem = imagecreatetruecolor($largura, $altura);
5 $branco = imagecolorallocate($imagem, 255, 255, 255);
6 $preto = imagecolorallocate($imagem, 0, 0, 0);
7 imagefilledrectangle($imagem, 0, 0, $largura, $altura, $branco);
8 $font_path = 'fonts/font.ttf';
9 $bbox = imagettfbbox(20, 0, $font_path, $texto);
10 $x = ($largura - $bbox[2]);
11 $y = ($altura - $bbox[1]);
12 imagettftext($imagem, 20, 0, $x, $y, $preto, $font_path, $texto);
13 header('Content-Type: image/png');
14 imagepng($imagem);
15 imagedestroy($imagem);
16 }
17
18 gerarImagem(800,600,"Instituto Federal");Com base no código em questão, é correto afirmar que
O formato JSON (JavaScript Object Notation) é uma ferramenta poderosa e amplamente utilizada para manipulação e troca de dados estruturados. A Linguagem PHP oferece suporte nativo ao formato, sem necessidade de instalações adicionais ou configurações especiais.
Considerando o suporte nativo da linguagem, analise o script em PHP que segue.
<?php
$data = [
"nome" => "João",
"idade" => 30,
"habilidades" => ["PHP", "JavaScript", "SQL"],
"ativo" => true,
"saldo" => null
];
$json = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
echo $json;
?>Qual das opções apresenta a saída do código acima?