>

문자열을 확인할 때 이러한 특수 문자를 허용하는 것이 안전합니까? 사용자는 현재 브라우저에서 영숫자와 다음 특수 문자를 보낼 수 있습니다 :

',.!&()_-

내 주요 관심사는 코드 삽입이다. 나는 여전히 Laravel을 배우고 있으며 많은 보안을 현명하게 처리한다는 것을 알고 있습니다. 안전한 보안을 위해 확실한 예방 조치를 취하고 싶습니다.

PHP Laravel 프레임 워크를 사용하여 서버 측에서 유효성을 검사하는 다음 코드가 있습니다.

$this->validate($request, [
    'str' => 'bail|required|regex:/^[a-zA-Z0-9 \',.!&_-]+$/u'
]);
$search_str = $request->str;
$query = Story::where('story_text', 'LIKE', '%'.$search_str.'%');

이것이 충분히 안전합니까, 아니면 더해야합니까?

  • 답변 # 1

    예제에없는 원시 SQL을 사용하지 않는 한 Laravel이이를 처리합니다. 설명서에서 :

    와이즈 비즈

    이것은 5.4에서 사실이며 적어도 4.1 이후입니다.

    The Laravel query builder uses PDO parameter binding to protect your application against SQL injection attacks. There is no need to clean strings being passed as bindings.

관련 자료

  • 이전 amazon s3 - S3 버킷에서 Google Cloud Storage로 파일 복사
  • 다음 javascript - 객체가 Google Closure의 유형인지 확인하고 변환 하시겠습니까?