Receiving Helpdesk

python ldap example active directory

by Dr. Soledad Kemmer Published 3 years ago Updated 2 years ago

How do I use LDAP authentication in Python?

Python LDAP3 In order to use LDAP with Python we need to import the Server and the Connection object, and any additional constant we will use in our LDAP. As you might remember from the LDAP Protocol diagram the authentication operation is called Bind.

How does Python connect to Active Directory?

0:4120:03Automate Active Directory Using Python|How To Connect ... - YouTubeYouTubeStart of suggested clipEnd of suggested clipThis is a Mac machine. And this machine is not joined to the active directory. So let me show youMoreThis is a Mac machine. And this machine is not joined to the active directory. So let me show you something this is mine is my active directory actually let me minimize this. Thing.

How does Python connect to LDAP?

Now, we will create an LDAP user by using the script in Python language. A CSV file is used....Creation of LDAP userStep 1: install the requirements. ... Step 2: Using Python form a connection with LDAP. ... Step 3: CSV file Loading. ... Step 4: User creation on LDAP server.

What is LDAP and how does it work with Active Directory?

LDAP is a tool for extracting and editing data stored in Active Directory and other compatible directory service providers. Each user account in an AD has several attributes, such as the user's full name and email address. Extracting this information in a usable format requires LDAP.

How do I create a script in Active Directory?

0:088:52How To Create A New Active Directory User Provisioning Script - YouTubeYouTubeStart of suggested clipEnd of suggested clipSo one of the easiest ways to get started automating an Active Directory. Using PowerShell is toMoreSo one of the easiest ways to get started automating an Active Directory. Using PowerShell is to create a user provisioning script.

Does Active Directory have an API?

The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).

How do I use Ldapsearch?

To search for the LDAP configuration, use the “ldapsearch” command and specify “cn=config” as the search base for your LDAP tree. To run this search, you have to use the “-Y” option and specify “EXTERNAL” as the authentication mechanism.

What is the LDAP port?

LDAPS uses its own distinct network port to connect clients and servers. The default port for LDAP is port 389, but LDAPS uses port 636 and establishes TLS/SSL upon connecting with a client.

What is LDAP service?

LDAP (Lightweight Directory Access Protocol) is a software protocol for enabling anyone to locate data about organizations, individuals and other resources such as files and devices in a network -- whether on the public Internet or on a corporate Intranet.

What is difference between Active Directory and LDAP?

AD is a directory service for Microsoft that makes important information about individuals available on a limited basis within a certain entity. Meanwhile, LDAP is a protocol not exclusive to Microsoft that allows users to query an AD and authenticate access to it.

How do I get LDAP from Active Directory?

Identifying your LDAP settings using the AD Domain Services Tool:Click Start >Administrative Tools, and then open Active Directory Administrative Center. ... On the Overview page, under Global Search, in the search field type the LDAP username and then click Search.More items...

Is LDAP same as SSO?

SSO is a method of authentication in which a user has access to many systems with a single login, whereas LDAP is a method of authentication in which the protocol is authenticated by utilizing an application that assists in obtaining information from the server.

What is LDAP3 in scripts?

ldap3 includes an extended Microsoft module which makes adding or removing users from groups a quick process. First, make sure you import the functions at the top of your script.

What port is used to bind LDAP?

A bind to the LDAP server is required prior to executing any other commands. I suggest using the use use_ssl=True switch with the ldaps port set to 636 in order to secure communications.

How to query AD object in more depth?

To query the AD object in more depth you can call result and response_to_json () to a parseable set of details about the returned object.

What is LDAP in a directory?

LDAP is a LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL. It is an internet protocol that works on TCP/IP, and it is used to access/fetch the information from the directories. All the directories are not preferable; it is usually used to access those directories that are active.

What is LDAP authentication?

It authenticates the clients who pass the connectivity request so that only the authentic and valid user can be connected. For the authentication process, a client session is created and ended by using the functions. Like BIND/UNBIND, Abandon.

Why is LDAP unique?

LDAP is known to be a functional model; it is simple and unique because of its ability to avoid the duplication of data to keep the content safe and coherent. Some of the major characteristics of LDAP are as follows.

Is LDAP open source?

LDAP is known to be an open-source implementation protocol and can be downloaded free from the internet.

Can you use four11 for LDAP?

But all of them require directories. If the user is unwilling to install the directory server on the system but wants to use LDAP, then the user can use four11, bigfoot, etc. The creation of the LDAP client is simple as there are SDK in many other languages like C++, Java, etc. To be an LDAP client, the user needs to perform some tasks.

Why is Active Directory used?

In today’s world Active Directory is widely used in the IT industry for binding together people with resources like computers in an organization, in a secure way. In this document, I’m going to elaborate my experiments with Active Directory, from a programmer and Active Directory Administrator’s standpoint. I played the role of Active Directory Administrator while performing numerous setups for testing the APIs I wrote for accessing Active Directory.

What is AWS Directory Service?

AWS directory service is a managed service for Microsoft Active Directory which makes it easy to integrate the Active Directory with other AWS services.

What is a read only domain controller?

A Read-Only Domain Controller (RODC) is a domain controller with a read-only replica of the Active Directory Domain Services database.

Is LDAP encrypted?

By default, LDAP communications between client and server are not encrypted. This is problematic especially since credentials are sent in plain text over the network when LDAP simple bind is used. The credentials can easily be compromised this way. Secure LDAP or LDAPS resolves this vulnerability by encrypting the data over the wire using SSL/TLS.

Does Python Flask work on Active Directory?

The Python-Flask based API layer for Active Directory queries worked just fine, thanks to the design choices, the Active Directory as a technology, and the AWS !!

What is LDAP server?

The ldap_server is the object you get from ldap.initialize (). You will probably need to bind before calling this function, too, depending on what LDAP server you are using and what you are trying to query for. The base_dn and filter_ are similar to what you've got in your command line version. The limit is the maximum number of records returned.

Can LDAP accept anonymous queries?

Note that this is written for an LDAP server that runs on a machine that is not accessible from outside our internal network and which is secured with 2FA authentication. It can, thus, safely accept anonymous queries. But adding user and password should be trivial.

Can you use the command module and the getoutput to parse the result of the ldap?

you can use the commands module, and the getoutput to parse the result of the ldap query:

Is interpolating user data into LDAP dangerous?

Please keep in mind that interpolating user-provided values into your LDAP query is dangerous! It's a form of injection that allows a malicious user to change the meaning of the query. See: http://www.python-ldap.org/doc/html/ldap-filter.html

Is LDAP module good?

The documentation of the ldap module is pretty good if you understand the context (that' s what took me a while). And the module is surprinsingly easy to use. We have a similar script written in bash using ldapserach that is at least 3 or 4 times longer and more complex to read.

Features/Characteristics of LDAP

For Authentication of The Client

For The Query of Information

Modification of The Data

LDAP Interaction Between The Client and Server

Creation of LDAP User

Conclusion

  • ‘Python LDAP example’ aims to provide the LDAP protocol’s features, functions, and user creation function. We have briefly explained this protocol’s important aspects by highlighting the interaction between server and client. We are hopeful that this tutorial will be beneficial for the user regarding LDAP implementation in the Python language.
See more on linuxhint.com

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9
8.3.21PHP Version1.51sRequest Duration2MBMemory UsageGET {post}Route
  • warninglog[23:27:14] LOG.warning: Creation of dynamic property Barryvdh\Debugbar\DataFormatter\QueryFormatter:...
  • warninglog[23:27:14] LOG.warning: Creation of dynamic property Barryvdh\Debugbar\DataFormatter\QueryFormatter:...
  • warninglog[23:27:14] LOG.warning: Callables of the form ["Swift_SmtpTransport", "Swift_Transport_EsmtpTranspor...
  • warninglog[23:27:14] LOG.warning: Creation of dynamic property Barryvdh\Debugbar\DataFormatter\SimpleFormatter...
  • warninglog[23:27:14] LOG.warning: Creation of dynamic property Barryvdh\Debugbar\DataFormatter\SimpleFormatter...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: json_decode(): Passing null to parameter #1 ($json) of type string is deprec...
  • warninglog[23:27:14] LOG.warning: mt_rand(): Passing null to parameter #2 ($max) of type int is deprecated in ...
  • Booting (17.39ms)
  • Application (1.5s)
  • 1 x Application (98.82%)
    1.50s
    1 x Booting (1.15%)
    17.39ms
    7 templates were rendered
    • themes.DevBlog.content.post (resources/views/themes/DevBlog/content/post.blade.php)34blade
      Params
      0
      post
      1
      postContent
      2
      author
      3
      updated_at
      4
      bing_rich_snippet_text
      5
      bing_rich_snippet_link
      6
      bing_related_keywords
      7
      google_related_keywords
      8
      bing_news_title
      9
      bing_news_description
      10
      bing_videos
      11
      bing_images
      12
      bing_search_result_title
      13
      bing_search_result_description
      14
      bing_search_result_url
      15
      bing_paa_questions
      16
      bing_paa_answers
      17
      bing_slider_faq_questions
      18
      bing_slider_faq_answers
      19
      bing_pop_faq_questions
      20
      bing_pop_faq_answers
      21
      bing_tab_faq_questions
      22
      bing_tab_faq_answers
      23
      google_faq_questions
      24
      google_faq_answers
      25
      google_rich_snippet
      26
      google_search_result
      27
      indexedArray
      28
      total_images
      29
      total_videos
      30
      settings
      31
      url_current
      32
      menus
      33
      sidebar
    • themes.DevBlog.layouts.master (resources/views/themes/DevBlog/layouts/master.blade.php)41blade
      Params
      0
      __env
      1
      app
      2
      errors
      3
      post
      4
      postContent
      5
      author
      6
      updated_at
      7
      bing_rich_snippet_text
      8
      bing_rich_snippet_link
      9
      bing_related_keywords
      10
      google_related_keywords
      11
      bing_news_title
      12
      bing_news_description
      13
      bing_videos
      14
      bing_images
      15
      bing_search_result_title
      16
      bing_search_result_description
      17
      bing_search_result_url
      18
      bing_paa_questions
      19
      bing_paa_answers
      20
      bing_slider_faq_questions
      21
      bing_slider_faq_answers
      22
      bing_pop_faq_questions
      23
      bing_pop_faq_answers
      24
      bing_tab_faq_questions
      25
      bing_tab_faq_answers
      26
      google_faq_questions
      27
      google_faq_answers
      28
      google_rich_snippet
      29
      google_search_result
      30
      indexedArray
      31
      total_images
      32
      total_videos
      33
      settings
      34
      url_current
      35
      menus
      36
      sidebar
      37
      i
      38
      __currentLoopData
      39
      loop
      40
      item
    • themes.DevBlog.panels.head (resources/views/themes/DevBlog/panels/head.blade.php)41blade
      Params
      0
      __env
      1
      app
      2
      errors
      3
      post
      4
      postContent
      5
      author
      6
      updated_at
      7
      bing_rich_snippet_text
      8
      bing_rich_snippet_link
      9
      bing_related_keywords
      10
      google_related_keywords
      11
      bing_news_title
      12
      bing_news_description
      13
      bing_videos
      14
      bing_images
      15
      bing_search_result_title
      16
      bing_search_result_description
      17
      bing_search_result_url
      18
      bing_paa_questions
      19
      bing_paa_answers
      20
      bing_slider_faq_questions
      21
      bing_slider_faq_answers
      22
      bing_pop_faq_questions
      23
      bing_pop_faq_answers
      24
      bing_tab_faq_questions
      25
      bing_tab_faq_answers
      26
      google_faq_questions
      27
      google_faq_answers
      28
      google_rich_snippet
      29
      google_search_result
      30
      indexedArray
      31
      total_images
      32
      total_videos
      33
      settings
      34
      url_current
      35
      menus
      36
      sidebar
      37
      i
      38
      __currentLoopData
      39
      loop
      40
      item
    • themes.DevBlog.panels.header (resources/views/themes/DevBlog/panels/header.blade.php)41blade
      Params
      0
      __env
      1
      app
      2
      errors
      3
      post
      4
      postContent
      5
      author
      6
      updated_at
      7
      bing_rich_snippet_text
      8
      bing_rich_snippet_link
      9
      bing_related_keywords
      10
      google_related_keywords
      11
      bing_news_title
      12
      bing_news_description
      13
      bing_videos
      14
      bing_images
      15
      bing_search_result_title
      16
      bing_search_result_description
      17
      bing_search_result_url
      18
      bing_paa_questions
      19
      bing_paa_answers
      20
      bing_slider_faq_questions
      21
      bing_slider_faq_answers
      22
      bing_pop_faq_questions
      23
      bing_pop_faq_answers
      24
      bing_tab_faq_questions
      25
      bing_tab_faq_answers
      26
      google_faq_questions
      27
      google_faq_answers
      28
      google_rich_snippet
      29
      google_search_result
      30
      indexedArray
      31
      total_images
      32
      total_videos
      33
      settings
      34
      url_current
      35
      menus
      36
      sidebar
      37
      i
      38
      __currentLoopData
      39
      loop
      40
      item
    • themes.DevBlog.panels.navbar (resources/views/themes/DevBlog/panels/navbar.blade.php)41blade
      Params
      0
      __env
      1
      app
      2
      errors
      3
      post
      4
      postContent
      5
      author
      6
      updated_at
      7
      bing_rich_snippet_text
      8
      bing_rich_snippet_link
      9
      bing_related_keywords
      10
      google_related_keywords
      11
      bing_news_title
      12
      bing_news_description
      13
      bing_videos
      14
      bing_images
      15
      bing_search_result_title
      16
      bing_search_result_description
      17
      bing_search_result_url
      18
      bing_paa_questions
      19
      bing_paa_answers
      20
      bing_slider_faq_questions
      21
      bing_slider_faq_answers
      22
      bing_pop_faq_questions
      23
      bing_pop_faq_answers
      24
      bing_tab_faq_questions
      25
      bing_tab_faq_answers
      26
      google_faq_questions
      27
      google_faq_answers
      28
      google_rich_snippet
      29
      google_search_result
      30
      indexedArray
      31
      total_images
      32
      total_videos
      33
      settings
      34
      url_current
      35
      menus
      36
      sidebar
      37
      i
      38
      __currentLoopData
      39
      loop
      40
      item
    • themes.DevBlog.panels.footer (resources/views/themes/DevBlog/panels/footer.blade.php)41blade
      Params
      0
      __env
      1
      app
      2
      errors
      3
      post
      4
      postContent
      5
      author
      6
      updated_at
      7
      bing_rich_snippet_text
      8
      bing_rich_snippet_link
      9
      bing_related_keywords
      10
      google_related_keywords
      11
      bing_news_title
      12
      bing_news_description
      13
      bing_videos
      14
      bing_images
      15
      bing_search_result_title
      16
      bing_search_result_description
      17
      bing_search_result_url
      18
      bing_paa_questions
      19
      bing_paa_answers
      20
      bing_slider_faq_questions
      21
      bing_slider_faq_answers
      22
      bing_pop_faq_questions
      23
      bing_pop_faq_answers
      24
      bing_tab_faq_questions
      25
      bing_tab_faq_answers
      26
      google_faq_questions
      27
      google_faq_answers
      28
      google_rich_snippet
      29
      google_search_result
      30
      indexedArray
      31
      total_images
      32
      total_videos
      33
      settings
      34
      url_current
      35
      menus
      36
      sidebar
      37
      i
      38
      __currentLoopData
      39
      loop
      40
      item
    • themes.DevBlog.panels.scripts (resources/views/themes/DevBlog/panels/scripts.blade.php)41blade
      Params
      0
      __env
      1
      app
      2
      errors
      3
      post
      4
      postContent
      5
      author
      6
      updated_at
      7
      bing_rich_snippet_text
      8
      bing_rich_snippet_link
      9
      bing_related_keywords
      10
      google_related_keywords
      11
      bing_news_title
      12
      bing_news_description
      13
      bing_videos
      14
      bing_images
      15
      bing_search_result_title
      16
      bing_search_result_description
      17
      bing_search_result_url
      18
      bing_paa_questions
      19
      bing_paa_answers
      20
      bing_slider_faq_questions
      21
      bing_slider_faq_answers
      22
      bing_pop_faq_questions
      23
      bing_pop_faq_answers
      24
      bing_tab_faq_questions
      25
      bing_tab_faq_answers
      26
      google_faq_questions
      27
      google_faq_answers
      28
      google_rich_snippet
      29
      google_search_result
      30
      indexedArray
      31
      total_images
      32
      total_videos
      33
      settings
      34
      url_current
      35
      menus
      36
      sidebar
      37
      i
      38
      __currentLoopData
      39
      loop
      40
      item
    uri
    GET {post}
    middleware
    web, checkdate
    as
    post.show
    controller
    App\Http\Controllers\Frontend\json_data\PostController@show
    namespace
    where
    file
    app/Http/Controllers/Frontend/json_data/PostController.php:18-166
    7 statements were executed1.47s
    • select * from `posts` where `published_at` <= '2025-06-19 23:27:14' and `slug` = 'python-ldap-example-active-directory' and `posts`.`deleted_at` is null limit 1
      4.03ms/app/Providers/RouteServiceProvider.php:54receivinghelpdeskask
      Metadata
      Bindings
      • 0. 2025-06-19 23:27:14
      • 1. python-ldap-example-active-directory
      Backtrace
      • 15. /app/Providers/RouteServiceProvider.php:54
      • 18. /vendor/laravel/framework/src/Illuminate/Routing/Router.php:842
      • 19. Route binding:39
      • 20. /vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
      • 21. /vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:78
    • select * from `json_post_contents` where `json_post_contents`.`post_id` = 97664 and `json_post_contents`.`post_id` is not null and `rewrite_id` = 0
      7.96msmiddleware::checkdate:30receivinghelpdeskask
      Metadata
      Bindings
      • 0. 97664
      • 1. 0
      Backtrace
      • 19. middleware::checkdate:30
      • 20. /vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
      • 21. /vendor/laravel/jetstream/src/Http/Middleware/ShareInertiaData.php:61
      • 22. /vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167
      • 23. /vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50
    • select * from `nova_menu_menus` where `slug` = 'header' limit 1
      450μs/vendor/outl1ne/nova-menu-builder/src/helpers.php:32receivinghelpdeskask
      Metadata
      Bindings
      • 0. header
      Backtrace
      • 15. /vendor/outl1ne/nova-menu-builder/src/helpers.php:32
      • 17. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
      • 18. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
      • 19. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:261
      • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
    • select * from `nova_menu_menu_items` where `nova_menu_menu_items`.`menu_id` = 1 and `nova_menu_menu_items`.`menu_id` is not null and `parent_id` is null order by `parent_id` asc, `order` asc, `name` asc
      320μs/vendor/outl1ne/nova-menu-builder/src/Models/Menu.php:35receivinghelpdeskask
      Metadata
      Bindings
      • 0. 1
      Backtrace
      • 19. /vendor/outl1ne/nova-menu-builder/src/Models/Menu.php:35
      • 20. /vendor/outl1ne/nova-menu-builder/src/helpers.php:33
      • 22. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
      • 23. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
      • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:261
    • select * from `nova_menu_menu_items` where `nova_menu_menu_items`.`parent_id` in (1) order by `order` asc
      310μs/vendor/outl1ne/nova-menu-builder/src/Models/Menu.php:35receivinghelpdeskask
      Metadata
      Backtrace
      • 24. /vendor/outl1ne/nova-menu-builder/src/Models/Menu.php:35
      • 25. /vendor/outl1ne/nova-menu-builder/src/helpers.php:33
      • 27. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
      • 28. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
      • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:261
    • select `id`, `post_title`, `slug` from `posts` where `status` = 'publish' and `posts`.`deleted_at` is null order by RAND() limit 10
      1.45s/app/View/Composers/SidebarView.php:22receivinghelpdeskask
      Metadata
      Bindings
      • 0. publish
      Backtrace
      • 14. /app/View/Composers/SidebarView.php:22
      • 15. /app/View/Composers/SidebarView.php:12
      • 16. /vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php:124
      • 17. /vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php:162
      • 20. /vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php:177
    • select * from `fake_users` where `fake_users`.`id` = 32767 limit 1
      1.05msview::2dd102cf0462e89a4d4d8bc77355d767652bf9aa:15receivinghelpdeskask
      Metadata
      Bindings
      • 0. 32767
      Backtrace
      • 21. view::2dd102cf0462e89a4d4d8bc77355d767652bf9aa:15
      • 23. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:108
      • 24. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
      • 25. /vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
      • 26. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:61
    App\Models\FakeUser
    1
    Outl1ne\MenuBuilder\Models\MenuItem
    1
    Outl1ne\MenuBuilder\Models\Menu
    1
    App\Models\JsonPostContent
    1
    App\Models\Post
    11
        _token
        1mORDeCJNLapm98vMoirICFDSGCOpjMePyXsLoh2
        _previous
        array:1 [ "url" => "https://receivinghelpdesk.com/ask/python-ldap-example-active-directory" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /python-ldap-example-active-directory
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:25 [ "cookie" => array:1 [ 0 => "_pk_id.64.7c30=b0d982008cd5fae6.1750355824.; _pk_ses.64.7c30=1; XSRF-TOKEN=eyJpdiI6ImJkRW9XLzU2dG1ta1AzRUFka1hiWmc9PSIsInZhbHVlIjoiVE84NXVQVFdHakFmeHBHbHlMZGhXK0RaR1ZNa0NyNWxKczJ1ZlJwNU0rVGUrZVFWRXFTamxGbVVIUnAvazBKcHhXTVhQU0VVN014M28rMUJMR1ZCZkRUTmF2M1R6Q2ZrY3F4OENUb0dEYncvSlJzNlk5cUh1NDZUWGREUi9MRlEiLCJtYWMiOiIwZTI5M2JiOTI0M2M1OTQ5ZGEwNDhkMzI0Y2Q2YTVlNmYyZGMzZGI4NmM4OWJmN2ZlMjI2ZThlYzZjODU2OGRkIiwidGFnIjoiIn0%3D; askhelpdesk_session=eyJpdiI6Im5zTFQwTjVBekVhQVgvZXdFTWtQVGc9PSIsInZhbHVlIjoiaXZIQ2RYNTZVUXRGNk5FUWVQRU9MaVJva2VabjN6TDY1NXE4eEZ1bFNtZ3NHOWJCUXZ2bzdtYnB4dUk0NHpRTkdhOXdTSmtCUVFBTzUva1p0cVdzMkhULzJ3dm5ZU2tIZ0V4SFMrTDVtNlJZT2s4ejFaL2Q0SHJKdEVWTXhDVkEiLCJtYWMiOiJjZTgyNGRlZmJiODYxOTM4ODZjMTIxYWNlMzQxMmNjNzU3NjA1ZDk2YmFiNDI4YjkxZDE5ZmEwZGFkNWNiMTFlIiwidGFnIjoiIn0%3D_pk_id.64.7c30=b0d982008cd5fae6.1750355824.; _pk_ses.64.7c30=1; XSRF-TOKEN=eyJpdiI6ImJkRW9XLzU2dG1ta1AzRUFka1hiWmc9PSIsInZhbHVlIjoiVE84NXVQVFdHakFmeHBHbHlMZGhXK" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.31" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "cf-ray" => array:1 [ 0 => "9524e85f6ac12321-ORD" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "connection" => array:1 [ 0 => "close" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.31, 172.71.255.83" ] "x-server-addr" => array:1 [ 0 => "154.12.239.204" ] "host" => array:1 [ 0 => "receivinghelpdesk.com" ] ]
        request_server
        0 of 0
        array:56 [ "USER" => "runcloud" "HOME" => "/home/runcloud" "SCRIPT_NAME" => "/ask/index.php" "REQUEST_URI" => "/ask/python-ldap-example-active-directory" "QUERY_STRING" => "" "REQUEST_METHOD" => "GET" "SERVER_PROTOCOL" => "HTTP/1.0" "GATEWAY_INTERFACE" => "CGI/1.1" "REDIRECT_URL" => "/ask/python-ldap-example-active-directory" "REMOTE_PORT" => "55870" "SCRIPT_FILENAME" => "/home/runcloud/webapps/ReceivingHelpDesk/ask/index.php" "SERVER_ADMIN" => "you@example.com" "CONTEXT_DOCUMENT_ROOT" => "/home/runcloud/webapps/ReceivingHelpDesk/" "CONTEXT_PREFIX" => "" "REQUEST_SCHEME" => "http" "DOCUMENT_ROOT" => "/home/runcloud/webapps/ReceivingHelpDesk/" "REMOTE_ADDR" => "172.71.255.83" "SERVER_PORT" => "80" "SERVER_ADDR" => "127.0.0.1" "SERVER_NAME" => "receivinghelpdesk.com" "SERVER_SOFTWARE" => "Apache/2.4.63 (Unix) OpenSSL/1.1.1f" "SERVER_SIGNATURE" => "" "LD_LIBRARY_PATH" => "/RunCloud/Packages/apache2-rc/lib" "PATH" => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "HTTP_COOKIE" => "_pk_id.64.7c30=b0d982008cd5fae6.1750355824.; _pk_ses.64.7c30=1; XSRF-TOKEN=eyJpdiI6ImJkRW9XLzU2dG1ta1AzRUFka1hiWmc9PSIsInZhbHVlIjoiVE84NXVQVFdHakFmeHBHbHlMZGhXK0RaR1ZNa0NyNWxKczJ1ZlJwNU0rVGUrZVFWRXFTamxGbVVIUnAvazBKcHhXTVhQU0VVN014M28rMUJMR1ZCZkRUTmF2M1R6Q2ZrY3F4OENUb0dEYncvSlJzNlk5cUh1NDZUWGREUi9MRlEiLCJtYWMiOiIwZTI5M2JiOTI0M2M1OTQ5ZGEwNDhkMzI0Y2Q2YTVlNmYyZGMzZGI4NmM4OWJmN2ZlMjI2ZThlYzZjODU2OGRkIiwidGFnIjoiIn0%3D; askhelpdesk_session=eyJpdiI6Im5zTFQwTjVBekVhQVgvZXdFTWtQVGc9PSIsInZhbHVlIjoiaXZIQ2RYNTZVUXRGNk5FUWVQRU9MaVJva2VabjN6TDY1NXE4eEZ1bFNtZ3NHOWJCUXZ2bzdtYnB4dUk0NHpRTkdhOXdTSmtCUVFBTzUva1p0cVdzMkhULzJ3dm5ZU2tIZ0V4SFMrTDVtNlJZT2s4ejFaL2Q0SHJKdEVWTXhDVkEiLCJtYWMiOiJjZTgyNGRlZmJiODYxOTM4ODZjMTIxYWNlMzQxMmNjNzU3NjA1ZDk2YmFiNDI4YjkxZDE5ZmEwZGFkNWNiMTFlIiwidGFnIjoiIn0%3D_pk_id.64.7c30=b0d982008cd5fae6.1750355824.; _pk_ses.64.7c30=1; XSRF-TOKEN=eyJpdiI6ImJkRW9XLzU2dG1ta1AzRUFka1hiWmc9PSIsInZhbHVlIjoiVE84NXVQVFdHakFmeHBHbHlMZGhXK" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.31" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_CF_RAY" => "9524e85f6ac12321-ORD" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_CONNECTION" => "close" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.31, 172.71.255.83" "HTTP_X_SERVER_ADDR" => "154.12.239.204" "HTTP_HOST" => "receivinghelpdesk.com" "HTTPS" => "on" "REDIRECT_STATUS" => "200" "REDIRECT_HTTPS" => "on" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/ask/index.php" "REQUEST_TIME_FLOAT" => 1750355834.8048 "REQUEST_TIME" => 1750355834 ]
        request_cookies
        0 of 0
        array:4 [ "_pk_id_64_7c30" => null "_pk_ses_64_7c30" => null "XSRF-TOKEN" => "1mORDeCJNLapm98vMoirICFDSGCOpjMePyXsLoh2" "askhelpdesk_session" => "XMV4FFr5Ez0jViAUWWIfdXXj7T3Dwxcpp2qE16uG" ]
        response_headers
        0 of 0
        array:7 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "private, must-revalidate" ] "date" => array:1 [ 0 => "Thu, 19 Jun 2025 17:57:14 GMT" ] "pragma" => array:1 [ 0 => "no-cache" ] "expires" => array:1 [ 0 => -1 ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlVQMk5TQjl4aVZRZFhKUFFNY0FVakE9PSIsInZhbHVlIjoiLzlOYVhLbUhCb0lFVG53VDBXK1ZrQVJab092TUhZRjAxb2tnY0RZbWp4a2EwSklxdGZpRDBwVExxVWp2VVpCUitENkNOOXVTN3d3dHkxVEN0VDhNODVKaVljSXVRS0NTbDJKUmErZFlZVzVUQUExcDBwbi9JN0RyaThQUXpOelgiLCJtYWMiOiIzZmY4N2U2MTA5NmQ5NWQyOTU3YzUwYWM0ODExM2VhYWNmYTNiMTk3YmY4MTJlMDE3OTcyNWNlOGJkNzVkZWQ4IiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 19:57:16 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IlVQMk5TQjl4aVZRZFhKUFFNY0FVakE9PSIsInZhbHVlIjoiLzlOYVhLbUhCb0lFVG53VDBXK1ZrQVJab092TUhZRjAxb2tnY0RZbWp4a2EwSklxdGZpRDBwVExxVWp2VVpCUitENkNOO" 1 => "askhelpdesk_session=eyJpdiI6IlBJZFltYjdsckg3QXdLUnFKbjZJdFE9PSIsInZhbHVlIjoiWmNXZE51WlViRElockJxODZDbkZMYU1tZkRrZGg0SGV1RlBVQjBkY2IyRG9nY3dXcFZ1aG9GaGxBZ1JKaTA0ZThzOWdZVVhndDlBOHlHRUhYUjdyNFkzL29WWlAzRFZDTGVCbjVJb0NEQXlmMDdoMmV0dHVnL1ZjallqcmI4SG8iLCJtYWMiOiJhYTEwZjgwNWU4YjdkYWM2NzlhM2U2NzAxN2UwYTZkMzVjYjVlMzJiOTIwMjhhZDYzMzY0ZDRkZWVlNTQ2YjM1IiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 19:57:16 GMT; Max-Age=7200; path=/; httponly; samesite=laxaskhelpdesk_session=eyJpdiI6IlBJZFltYjdsckg3QXdLUnFKbjZJdFE9PSIsInZhbHVlIjoiWmNXZE51WlViRElockJxODZDbkZMYU1tZkRrZGg0SGV1RlBVQjBkY2IyRG9nY3dXcFZ1aG9GaGxBZ1JKaTA0" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlVQMk5TQjl4aVZRZFhKUFFNY0FVakE9PSIsInZhbHVlIjoiLzlOYVhLbUhCb0lFVG53VDBXK1ZrQVJab092TUhZRjAxb2tnY0RZbWp4a2EwSklxdGZpRDBwVExxVWp2VVpCUitENkNOOXVTN3d3dHkxVEN0VDhNODVKaVljSXVRS0NTbDJKUmErZFlZVzVUQUExcDBwbi9JN0RyaThQUXpOelgiLCJtYWMiOiIzZmY4N2U2MTA5NmQ5NWQyOTU3YzUwYWM0ODExM2VhYWNmYTNiMTk3YmY4MTJlMDE3OTcyNWNlOGJkNzVkZWQ4IiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 19:57:16 GMT; path=/XSRF-TOKEN=eyJpdiI6IlVQMk5TQjl4aVZRZFhKUFFNY0FVakE9PSIsInZhbHVlIjoiLzlOYVhLbUhCb0lFVG53VDBXK1ZrQVJab092TUhZRjAxb2tnY0RZbWp4a2EwSklxdGZpRDBwVExxVWp2VVpCUitENkNOO" 1 => "askhelpdesk_session=eyJpdiI6IlBJZFltYjdsckg3QXdLUnFKbjZJdFE9PSIsInZhbHVlIjoiWmNXZE51WlViRElockJxODZDbkZMYU1tZkRrZGg0SGV1RlBVQjBkY2IyRG9nY3dXcFZ1aG9GaGxBZ1JKaTA0ZThzOWdZVVhndDlBOHlHRUhYUjdyNFkzL29WWlAzRFZDTGVCbjVJb0NEQXlmMDdoMmV0dHVnL1ZjallqcmI4SG8iLCJtYWMiOiJhYTEwZjgwNWU4YjdkYWM2NzlhM2U2NzAxN2UwYTZkMzVjYjVlMzJiOTIwMjhhZDYzMzY0ZDRkZWVlNTQ2YjM1IiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 19:57:16 GMT; path=/; httponlyaskhelpdesk_session=eyJpdiI6IlBJZFltYjdsckg3QXdLUnFKbjZJdFE9PSIsInZhbHVlIjoiWmNXZE51WlViRElockJxODZDbkZMYU1tZkRrZGg0SGV1RlBVQjBkY2IyRG9nY3dXcFZ1aG9GaGxBZ1JKaTA0" ] ]
        session_attributes
        0 of 0
        array:4 [ "_token" => "1mORDeCJNLapm98vMoirICFDSGCOpjMePyXsLoh2" "_previous" => array:1 [ "url" => "https://receivinghelpdesk.com/ask/python-ldap-example-active-directory" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]