у меня есть example.php и переместить его в общую папку в laravel
example.php:
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
и welcome.php:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
echo "your name: ".$name;
echo "your email: ".$email;
?>
И результат:
your name: John
your email: John@gmail.com
Так. Это безопасно или опасно? Благодарю.
То, как вы установили свой код, не то, как следует использовать Laravel.
Для наилучшего использования Laravel вам нужно поместить html формы в папку представлений в ее собственном файле, например: form.blade.php.
Затем вам нужно сделать новый контроллер php artisan make:controller FormController
Я бы также предложил создать папку запросов: php artisan make:request FormRequest
В рамках запросов вы маркируете каждый из ваших необходимых HTML name=
поля например:
public function rules()
{
return [
'name' => 'required',
'email' => 'required',
];
}
В вашем файле маршрутов вам нужно будет добавить:
Route::post('/link', 'FormController@submitForm');
В вашем контроллере вы бы затем сделали:
<?php
use \App\Http\Requests\FormRequest;
public function submitForm(FormRequest $formRequest)
{
// your logic would then go in here. Firstly fetch the request
$fetchData = $formRequest->get();
}
Это всего лишь основная разбивка того, что вы должны делать. Вам, очевидно, нужно заполнить логику.
PS в HTML, поскольку мы добавили запросы, чтобы проверить, были ли они заполнены, вы добавите что-то вроде:
@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
Я надеюсь, что это приведет вас к правильным путям Laravel.
Я бы также посоветовал взглянуть на Laracasts, так как у них есть отличные учебники.
Вы должны помнить одну вещь: Laravel — это фреймворк MVC (Model-View-Controller). В этом коде я вижу «Vanilla» PHP, и Laravel не предназначен для такого использования.
Весь смысл в том, что вся внутренняя обработка должна выполняться вне общей папки, а именно в компонентах Model и Controller. Все, что вы помещаете в общую папку, рискованно, потому что в общей папке есть chmod 777. Это означает, что если вы используете рискованные функции в исходных файлах в этой папке, хакеры могут использовать их.
Написание простых php-файлов, безусловно, более небезопасно, чем работа с фреймворковой системой MVC от Laravel. Веб-пауки могут отслеживать URL-адреса и, возможно, могут найти вашу форму и URL-адрес действия, даже если они находятся в каталоге фреймворка. Существует множество способов, с которыми у вас могут возникнуть проблемы с этой формой, но самым простым может быть проверка того, что происходит при отправке <script>alert();</script>
в качестве входа.
Надеюсь, поможет
PS.
которые очень сильно зависят от кодирования и очистки, если вы не очистите свой ввод чем-либо, как я вижу в этом файле PHP, вы можете использовать <script>
в качестве входных данных, если вы плохо дезинфицируете, может быть <scri<script>pt>
может работать … или <script>
и т. д. и т. д. … в качестве меры безопасности вы всегда должны знать, что входные данные, вероятно, являются вредоносными, а санитарная обработка — это одна из вещей, которые фреймворки делают для вас