Hướng dẫn can php be secure? - php có thể an toàn không?

Nếu bạn viết đủ mã, bạn sẽ vô tình viết một lỗ hổng tại một số điểm trong sự nghiệp của bạn với tư cách là một nhà phát triển. Phần này của Trung tâm học tập WordFence được thiết kế để giúp bạn với tư cách là người mới bắt đầu hoặc nhà phát triển cấp độ nâng cao giảm xác suất bạn sẽ phát hành lỗ hổng vào sản xuất.

Nội dung chính ShowShow

  • Các lỗ hổng ở đâu và tại sao xuất hiện trong WordPress
  • Nguyên tắc cơ bản của viết mã PHP an toàn
  • Không bao giờ tin tưởng vào đầu vào của người dùng
  • Hãy nhớ rằng câu nói này: Viên vệ sinh đầu vào sớm, vệ sinh đầu ra muộn
  • Đôi khi bạn không kiểm soát đầu vào
  • Đôi khi bạn không kiểm soát đầu ra
  • Cách vệ sinh, xác thực và thoát ra đầu vào
  • Khi nào cần vệ sinh, xác nhận và trốn thoát
  • Tại đầu vào: Xác thực và vệ sinh
  • Ở đầu ra: vệ sinh và thoát
  • Các vectơ và lỗ hổng đầu ra
  • Trình duyệt của khách truy cập
  • Kho dữ liệu
  • Các tập tin
  • Lệnh shell
  • Kết thúc của một khởi đầu
  • Tại sao PHP không được bảo đảm?
  • Làm cách nào để bảo vệ mã máy chủ PHP của tôi?
  • PHP bảo mật là gì?
  • Phương pháp nào được bảo mật để đảm bảo dữ liệu trong PHP?

Chúng tôi sẽ làm điều này bằng cách bắt đầu với một cái nhìn tổng quan về khái niệm về bảo mật PHP. Sau đó chúng tôi sẽ khám phá các loại lỗ hổng với các ví dụ. Trong các phần sau, chúng tôi sẽ cung cấp cho bạn một vài công cụ để giúp bạn phát hiện các lỗ hổng trong mã của bạn. Chúng tôi khuyên bạn nên đi qua từng bài viết để xây dựng một kiến ​​thức nền tảng vững chắc mà bạn có thể xây dựng khi bạn tiến bộ. Thời gian bạn đầu tư vào đây sẽ có lợi cho bạn và người dùng các ứng dụng web của bạn trong nhiều năm để giúp bạn tạo các ứng dụng PHP an toàn hơn.

Phần lớn lời khuyên chúng tôi cung cấp là áp dụng cho sự phát triển PHP nói chung, nhưng chúng tôi bao gồm các chức năng và ví dụ trong các bài viết dành riêng cho phát triển WordPress.

Ngay cả khi bạn không viết các ứng dụng WordPress, chúng tôi khuyến khích bạn đọc các bài viết này vì chúng sẽ cung cấp cho bạn một nền tảng tuyệt vời để viết mã PHP an toàn. Nếu sau đó bạn quyết định tham gia cộng đồng WordPress và viết plugin đầu tiên của bạn, bạn sẽ có thể tạo mã an toàn chất lượng cao sẽ giúp bạn bè trong cộng đồng và làm cho mã của bạn có giá trị hơn đối với nhà tuyển dụng và khách hàng của bạn.

Bài viết giới thiệu này sẽ cung cấp cho bạn sự hiểu biết về khái niệm về cách các lỗ hổng được đưa vào mã PHP nói chung và các plugin WordPress nói riêng.

Các lỗ hổng ở đâu và tại sao xuất hiện trong WordPress

WordPress như một nền tảng xuất bản bao gồm WordPress Core, là hệ thống quản lý nội dung cốt lõi. Điều này bao gồm mã PHP, HTML, mã JavaScript và quy tắc CSS. Mã WordPress Core, được kiểm tra thường xuyên bởi cộng đồng nguồn mở. Như Eric Raymond nói trong nhà thờ và chợ,WordPress core, which is the core content management system. This consists of PHP code, HTML, javascript code and CSS rules. WordPress core’s code is inspected often by the open source community. As Eric Raymond says in the Cathedral and the Bazaar,WordPress core, which is the core content management system. This consists of PHP code, HTML, javascript code and CSS rules. WordPress core’s code is inspected often by the open source community. As Eric Raymond says in the Cathedral and the Bazaar,

“Cho đủ nhãn cầu, tất cả các lỗi đều nông cạn”

Nói cách khác, có rất nhiều người nhìn vào Core WordPress ngày nay, nó không có khả năng ai đó đã giành được thông báo về một lỗi hoặc lỗ hổng, báo cáo và nhận tín dụng cho nó.

Một trang web WordPress cũng bao gồm một chủ đề chủ yếu là HTML, CSS và JavaScript và thường bao gồm một lượng nhỏ mã PHP. Các trang web không thay đổi chủ đề thường xuyên khi họ đã cài đặt chúng, vì vậy các lỗ hổng hoặc lỗi mới không có khả năng được đưa vào chủ đề trang web. Các chủ đề don don thường chứa nhiều mã PHP và độ phức tạp của mã thấp.a theme which is mostly HTML, CSS and javascript and usually includes a small amount of PHP code. Sites don’t change their themes often once they’ve installed them, so new vulnerabilities or bugs are not likely to be introduced into a site’s theme. Themes don’t usually contain much PHP code and the code complexity is low.a theme which is mostly HTML, CSS and javascript and usually includes a small amount of PHP code. Sites don’t change their themes often once they’ve installed them, so new vulnerabilities or bugs are not likely to be introduced into a site’s theme. Themes don’t usually contain much PHP code and the code complexity is low.

Chỉ với Core WordPress và một chủ đề, bạn có một trang web cơ bản cung cấp chức năng thông thường mà WordPress bao gồm. Cho đến nay, bạn đã giới thiệu nhiều mã PHP mới vào hệ thống. Bằng cách thêm các plugin WordPress, một trang web có được các tính năng và hành vi mới phức tạp. Các plugin WordPress có thể bao gồm:WordPress plugins, a website gains complex new features and behaviors. WordPress plugins may include:WordPress plugins, a website gains complex new features and behaviors. WordPress plugins may include:

  • Nhận xét Bộ lọc thư rác như Akismet
  • Các nền tảng thương mại điện tử như WooC Commerce
  • Hệ thống đấu giá để biến trang web của bạn thành một loại ebay
  • Các plugin bảo mật như wordfence

Có hơn 50.000 plugin trong kho lưu trữ plugin chính thức của WordPress với hơn 1 tỷ tổng số lượt tải xuống. Họ cung cấp một loạt các chức năng cho các trang web WordPress.

Các plugin WordPress bao gồm một lượng lớn mã PHP - trên thực tế, chúng chủ yếu là PHP. Mức độ phức tạp của mã PHP trong một plugin cũng cao. Điều này làm cho chúng có nhiều khả năng chứa các lỗ hổng.

Hầu hết các lỗ hổng được đưa vào WordPress thông qua các plugin. Bạn có thể thấy điều này trong hành động nếu bạn xem wpvulndb.com, nơi duy trì cơ sở dữ liệu về các lỗ hổng WordPress. Như bạn có thể thấy, có một số ít các lỗ hổng được báo cáo hàng năm trong Core WordPress và trong các chủ đề, trong khi các plugin cung cấp một luồng báo cáo lỗ hổng liên tục. You can see this in action if you view WPVulnDB.com, which maintains a database of WordPress vulnerabilities. As you can see there are a handful of vulnerabilities reported every year in WordPress core and in themes, while plugins provide a constant stream of vulnerability reports. You can see this in action if you view WPVulnDB.com, which maintains a database of WordPress vulnerabilities. As you can see there are a handful of vulnerabilities reported every year in WordPress core and in themes, while plugins provide a constant stream of vulnerability reports.

Bởi vì các plugin cho đến nay là nguồn lỗ hổng mới lớn nhất trong WordPress, chúng tôi sẽ dành một chút thời gian trong các hướng dẫn của mình để viết mã PHP an toàn tập trung vào các plugin WordPress và cách cải thiện bảo mật của chúng.

Nguyên tắc cơ bản của viết mã PHP an toàn

Không bao giờ tin tưởng vào đầu vào của người dùng

Nếu bạn có thể ghi nhớ dòng trên, không bao giờ tin tưởng vào đầu vào của người dùng và kết hợp nó vào các hoạt động mã hóa hàng ngày của bạn, bạn đã đi được nửa chừng để viết mã PHP an toàn hơn. Phần lớn các lỗ hổng trong mã PHP được gây ra bởi một nhà phát triển không tin tưởng đúng vào đầu vào người dùng. Nói cách khác, nhà phát triển không bao gồm mã để vệ sinh chính xác hoặc đủ một số hình thức đầu vào của người dùng.

Trong lỗ hổng Akismet được báo cáo vào tháng 10 năm 2015, Akismet đã không vệ sinh chính xác đầu vào của người dùng thông qua các nhận xét, dẫn đến lỗ hổng kịch bản chéo trang web (XSS).

Vào tháng 8 năm 2015, một lỗ hổng trong Core WordPress đã được phát hiện trong đó WordPress Core đã tin tưởng vào đầu vào của người dùng để cung cấp ID POST hợp lệ, mà không cần xác minh nó. Người dùng cấp cấp của người đăng ký có thể sử dụng ID POST không hợp lệ (cùng với điều kiện cuộc đua) để nâng mức đặc quyền của họ lên mức truy cập cao hơn. Nếu Core đã kiểm tra chính xác xem một bài đăng có tồn tại hay không trước khi kiểm tra xem người dùng có mức độ truy cập chính xác hay không, thì lỗ hổng có thể tránh được không. Chúng tôi khuyến khích bạn đọc tiết lộ lỗ hổng trong trường hợp sau vì nó sẽ cho bạn một ý tưởng tốt về việc mã của bạn có thể được xem xét kỹ lưỡng như thế nào. [Gợi ý: Rất chặt chẽ. Đây là một lỗ hổng cực kỳ tiên tiến]

7 lỗ hổng plugin gần đây nhất tại thời điểm viết, tất cả đều được gây ra bởi đầu vào người dùng tin cậy không chính xác. Chúng là các lỗ hổng XSS, CSRF, RFI hoặc SQL, tất cả đều được gây ra bởi nhà phát triển không vệ sinh chính xác đầu vào của người dùng trước khi sử dụng nó trong ứng dụng hoặc không vệ sinh đầu ra trước khi được gửi đến trình duyệt web.

Hãy nhớ rằng câu nói này: Viên vệ sinh đầu vào sớm, vệ sinh đầu ra muộn

Các ứng dụng của chúng tôi không hữu ích lắm nếu không có đầu vào của người dùng dưới dạng bình luận, bài đăng trên blog, xếp hạng sao, hình thức mà khách truy cập điền vào và như vậy. Khi dữ liệu đến trong ứng dụng web của bạn từ trình duyệt của khách truy cập trang web, nó cần phải được vệ sinh khi nó đến. Bạn phải đảm bảo rằng bạn vệ sinh nó ngay khi nó đến hoặc càng sớm càng tốt trước khi các phần khác của ứng dụng tương tác với dữ liệu.early as possible before other parts of the application interact with the data.early as possible before other parts of the application interact with the data.

Các ứng dụng web của chúng tôi cũng thú vị hơn nhiều khi họ có thể chia sẻ đầu vào của người dùng với khách truy cập trang web khác bằng cách gửi lại cho trình duyệt web. Chúng tôi có thể hiển thị nhận xét, hiển thị các bài đăng được xuất bản, chia sẻ kết quả khảo sát với khách truy cập trang web khác, v.v. Tất cả dữ liệu này được lưu trữ đầu vào người dùng đang được xuất vào trình duyệt. Ngay cả khi bạn đã vệ sinh dữ liệu này khi nó xuất hiện, nó cần phải được an toàn khi nó được hiển thị cho khách truy cập trang web khác.output to the browser. Even if you’ve sanitized this data as it arrives, it needs to be re-sanitized when it is displayed to other site visitors.output to the browser. Even if you’ve sanitized this data as it arrives, it needs to be re-sanitized when it is displayed to other site visitors.

Khi bạn vệ sinh đầu ra, bạn cần vệ sinh càng muộn càng tốt. Bằng cách đó, bạn có thể chắc chắn rằng nó không được sửa đổi sau khi nó được vệ sinh và bạn chỉ vệ sinh nó một lần: ngay trước khi nó được gửi đến trình duyệt web. Đó là lý do tại sao chúng tôi đã phát minh ra câu nói ở trên: vệ sinh đầu vào sớm, vệ sinh đầu ra muộn. Sử dụng điều này như một lời nhắc bạn cần vệ sinh dữ liệu người dùng ngay khi nó đến và một lần nữa ngay trước khi nó rời đi.sanitize as late as possible. That way you can be sure that it is not modified after it is sanitized and you only sanitize it once: right before it is sent to the web browser. That is why we invented the saying above: Sanitize input early, sanitize output late. Use this as a reminder you need to sanitize user data once as soon as it arrives and again right before it leaves.sanitize as late as possible. That way you can be sure that it is not modified after it is sanitized and you only sanitize it once: right before it is sent to the web browser. That is why we invented the saying above: Sanitize input early, sanitize output late. Use this as a reminder you need to sanitize user data once as soon as it arrives and again right before it leaves.

Đôi khi bạn không kiểm soát đầu vào

Đôi khi bạn có thể nhận dữ liệu đầu vào của người dùng từ API hoặc nguồn cấp dữ liệu vào ứng dụng của bạn. Bạn có thể dựa vào một ứng dụng khác để vệ sinh dữ liệu cho bạn. Lý tưởng nhất là bạn sẽ phân tích lại bất kỳ dữ liệu nào trong ứng dụng của bạn, nhưng điều này không phải lúc nào cũng khả thi vì lý do hiệu suất hoặc vì dữ liệu lớn và phức tạp và nó sẽ đòi hỏi nhiều mã để vệ sinh nó.

Trong trường hợp này, bạn cần nhớ, ít nhất, vệ sinh đầu ra. Thật dễ dàng để quên rằng dữ liệu bạn đang nhận được từ một nơi nào đó khác ngoài ứng dụng của bạn cũng có thể là dữ liệu đầu vào của người dùng và có thể chứa mã độc hại.

Đôi khi bạn không kiểm soát đầu ra

Thỉnh thoảng bạn có thể nhận được dữ liệu từ người dùng trên trang web của mình và gửi nó đến một ứng dụng bên ngoài thông qua, ví dụ, API REST mà bạn đã xuất bản. Đảm bảo rằng bạn vệ sinh tất cả các đầu vào của người dùng sớm, vì nó xuất hiện trong ứng dụng của bạn trước khi bạn gửi nó qua API.

Bằng cách này, bạn giúp giữ cho người dùng dữ liệu của bạn an toàn. Bạn không nên cho rằng các nhà phát triển sử dụng API của bạn đang vệ sinh dữ liệu ở cuối của họ và bạn có thể gửi cho họ đầu vào người dùng thô.

Cách vệ sinh, xác thực và thoát ra đầu vào

Trong các cuộc thảo luận trên, chúng tôi sử dụng thuật ngữ 'vệ sinh' hoặc 'vệ sinh' như một thuật ngữ toàn cầu để mô tả ý tưởng đảm bảo rằng dữ liệu của bạn đến một ứng dụng an toàn cho ứng dụng tương tác và dữ liệu rời khỏi (được xuất ra) là an toàn cho tiêu dùng.

Có ba cách để đảm bảo dữ liệu an toàn:

  • Xác thực: Xác thực đảm bảo rằng bạn có đúng loại dữ liệu. Ví dụ: bạn có thể đảm bảo rằng một trường chỉ định một số mục trong giỏ hàng là một số nguyên bằng cách sử dụng hàm PHP tựa is_numeric (). Nếu nó trả về sai thì bạn sẽ gửi lỗi lại cho trình duyệt yêu cầu họ cho một số nguyên hợp lệ. Khi bạn kiểm tra đầu vào cho dữ liệu hợp lệ và trả về thông báo lỗi cho người dùng, đó là xác thực.Validation makes sure that you have the right kind of data. For example, you might make sure that a field specifying a number of items in a cart is an integer by using PHP’s is_numeric() function. If it returns false then you send an error back to the browser asking them for a valid integer. When you test input for valid data and return error messages to the user, that is validation.Validation makes sure that you have the right kind of data. For example, you might make sure that a field specifying a number of items in a cart is an integer by using PHP’s is_numeric() function. If it returns false then you send an error back to the browser asking them for a valid integer. When you test input for valid data and return error messages to the user, that is validation.
  • Vệ sinh: Điều này loại bỏ bất kỳ dữ liệu có hại. Bạn có thể loại bỏ các thẻ từ dữ liệu biểu mẫu. Hoặc bạn có thể xóa trích dẫn khỏi thuộc tính HTML trước khi gửi nó đến trình duyệt. Đây là tất cả việc vệ sinh vì nó loại bỏ dữ liệu có hại.This removes any harmful data. You might strip out This removes any harmful data. You might strip out

Bạn sẽ thấy một hộp cảnh báo xuất hiện. Điều này chỉ đơn giản chứng minh rằng bạn có thể thực thi mã JavaScript được đưa vào ứng dụng. Để tránh lỗ hổng này trong plugin WordPress, bạn nên thực hiện như sau:

Như bạn có thể thấy, trước tiên chúng tôi xác nhận rằng chúng tôi đã nhận được một số khi nó đến trong ứng dụng. Sau đó, chúng tôi vệ sinh trước khi đầu ra bằng cách loại bỏ bất cứ thứ gì không phải là một số trước khi gửi dữ liệu trở lại trình duyệt web. Chúng tôi sẽ đi sâu vào chi tiết hơn về các lỗ hổng XSS trong phần sau.

Một địa điểm khác dữ liệu thoát khỏi ứng dụng của bạn là vào cơ sở dữ liệu. Cơ sở dữ liệu là một ứng dụng hoạt động đầy đủ theo đúng nghĩa của nó có thể phản hồi các lệnh từ ứng dụng của bạn. Nếu bạn cho phép khách truy cập vào trang web của bạn để gửi bất cứ điều gì họ muốn đến cơ sở dữ liệu của bạn, họ có thể thuyết phục cơ sở dữ liệu của bạn cung cấp cho họ tất cả dữ liệu của bạn, đây sẽ là thảm họa cho quyền riêng tư của các thành viên trang web của bạn.

Vì lý do này, bạn cần đảm bảo rằng bất kỳ dữ liệu nào được gửi đến cơ sở dữ liệu của bạn đều an toàn. Cuộc tấn công phổ biến nhất vào cơ sở dữ liệu của bạn là một cuộc tấn công tiêm SQL. Đây là một cách để kẻ tấn công gửi các lệnh tùy ý đến cơ sở dữ liệu của bạn để thêm hoặc cập nhật dữ liệu theo cách trái phép hoặc đọc dữ liệu mà họ không nên có quyền truy cập, như mật khẩu hoặc địa chỉ email thành viên.

Nhiều ứng dụng PHP và các plugin WordPress ghi dữ liệu vào các tệp. Nếu kẻ tấn công có thể lừa một ứng dụng vào việc viết mã PHP vào một tệp có tên chính xác, thì họ có thể thực thi tệp đó và có quyền truy cập đầy đủ vào trang web của bạn. Vì lý do này, điều quan trọng là đảm bảo rằng dữ liệu được ghi vào tệp là an toàn và tên tệp được sử dụng cũng an toàn.

Một trong những lỗ hổng nổi tiếng nhất trong WordPress là lỗ hổng Timthumb có hình ảnh từ web và lưu trữ chúng dưới dạng tệp trên một trang web. Một kẻ tấn công có thể lừa một plugin WordPress để tìm nạp tệp PHP thay thế và lưu trữ trên hệ thống tệp của trang web. Kẻ tấn công sau đó đã truy cập tệp PHP và nó sẽ thực thi. Sử dụng kỹ thuật này, kẻ tấn công có thể khiến trang web tải xuống mã PHP độc hại và sau đó thực thi mã đó.

Vấn đề với lỗ hổng Timthumb là ứng dụng không bao giờ được xác nhận và vệ sinh nội dung của tệp mà nó đang tìm nạp. Nó cũng không bao giờ được vệ sinh và thoát dữ liệu mà nó đang ghi vào tệp khi nó lưu nó trên trang web của hệ thống tập tin. Và hơn nữa, nó không bao giờ đảm bảo rằng tên tệp được sử dụng là tên tệp không thể thực hiện được. Như bạn có thể thấy, nếu nhà phát triển đang xác thực, vệ sinh và thoát ra một cách chính xác ở đầu vào và đầu ra, họ sẽ có một số cơ hội để bắt loại tấn công này.

Một lệnh shell là một vectơ đầu ra dữ liệu khác trong ứng dụng của bạn. Đây là nơi bạn có khả năng xuất dữ liệu người dùng có thể cho phép kẻ tấn công lừa ứng dụng của bạn để thực hiện các lệnh shell không mong muốn.

Thật bất thường khi thực thi các lệnh shell từ một ứng dụng web PHP và nói chung chúng tôi đề nghị chống lại nó. Thay vào đó, hãy sử dụng các chức năng PHP tích hợp để thực hiện những việc như danh sách thư mục, thao tác tệp, tìm kiếm văn bản trong các tệp, v.v. Rất đôi khi, các lệnh shell là không thể tránh khỏi. Nếu bạn đang thực thi lệnh shell, chúng tôi khuyên bạn nên bao gồm bất kỳ dữ liệu hoặc dữ liệu người dùng nào đến từ một nguồn bên ngoài.

Nếu bạn hoàn toàn phải thực thi lệnh shell trong PHP liên quan đến dữ liệu bên ngoài, bạn nên sử dụng xác thực rất nghiêm ngặt, vệ sinh và thoát. Các chức năng như ‘intval (), loại bỏ mọi thứ ngoại trừ các số nguyên rất hữu ích cho việc vệ sinh trong kịch bản này.

Điều này đưa chúng ta đến kết luận giới thiệu về bảo mật PHP. Chúng tôi đã xem xét nhiều mã. Đây là một giới thiệu khái niệm để giúp bạn hiểu cách các lỗ hổng được đưa vào một ứng dụng, cách tránh chúng và khu vực nào trong ứng dụng của bạn, bạn nên chú ý. Chúng tôi đi vào chi tiết hơn trong các phần sắp tới.

Mã được lưu trữ trong các tệp văn bản được định dạng rõ ràng (. PHP). Nó không được biên dịch hoặc mã hóa, vì vậy bất kỳ ai thỏa hiệp máy của bạn đều nhận được mã nguồn của bạn. Và nếu họ có mã nguồn thì họ cũng có chi tiết đăng nhập cho cơ sở dữ liệu và có thể chạy các truy vấn như thả, xóa, chèn hoặc chọn.It's not compiled or encrypted, so anyone who compromises your machine gets your source code. And if they have the source code then they also have the login details for the database and can run queries like drop, delete, insert or select.It's not compiled or encrypted, so anyone who compromises your machine gets your source code. And if they have the source code then they also have the login details for the database and can run queries like drop, delete, insert or select.

3 cách để mã hóa và ẩn mã nguồn PHP...

Sử dụng mã obfuscator để làm cho mã nguồn khó đọc ..

Sử dụng bộ bảo vệ mã hoặc bộ mã hóa.Một cái gì đó giống như một động cơ PHP thay thế, nhưng với khả năng bảo vệ mã nguồn ..

Cuối cùng, biên dịch mã PHP bằng bộ chuyển đổi hoặc máy ảo ..

Bảo mật đề cập đến các biện pháp được đưa ra để bảo vệ một ứng dụng khỏi các cuộc tấn công tình cờ và độc hại.Chức năng Strip_tags được sử dụng để xóa các thẻ như từ dữ liệu đầu vào.Chức năng Filter_VAR xác nhận và khử dữ liệu đầu vào PHP.MySQLI_REAL_ESCAPE_STRING được sử dụng để vệ sinh câu lệnh SQL.measures put in place to protect an application from accidental and malicious attacks. strip_tags function is used to remove tags such as from input data. filter_var function validates and php sanitize input data. mysqli_real_escape_string is used to sanitize SQL statement.measures put in place to protect an application from accidental and malicious attacks. strip_tags function is used to remove tags such as from input data. filter_var function validates and php sanitize input data. mysqli_real_escape_string is used to sanitize SQL statement.

Sử dụng HTTPS: Sử dụng HTTPS đã trở thành tiêu chuẩn mới và đúng như vậy.HTPPS mã hóa kết nối giữa trang web của bạn và người dùng.Nó có thể không phải là giải pháp một cửa để ngăn chặn các cuộc tấn công CSRF nhưng nó tăng cường bảo mật PHP của bạn và bảo vệ trang web của bạn khỏi một loạt các cuộc tấn công khác.: Using HTTPS has become the new standard and rightly so. HTPPS encrypts the connection between your website and the user. It might not be the one-stop solution to prevent CSRF attacks but it strengthens your PHP security and protects your website from a range of other attacks.: Using HTTPS has become the new standard and rightly so. HTPPS encrypts the connection between your website and the user. It might not be the one-stop solution to prevent CSRF attacks but it strengthens your PHP security and protects your website from a range of other attacks.