---
name: "cgi_url_validate"
section: "3"
platform: "linux"
package: "clearsilver-dev"
version: "0.10.5-6+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cgi_url_validate"
---

# cgi\_url\_validate(3)

validate that url is of an allowed format

## NAME

cgi\_url\_validate  - validate that url is of an allowed format

## SYNOPSIS

```
#include <cgi/cgi.h>
```

```
NEOERR *cgi_url_validate (const char *buf, char **esc);
```

## ARGUMENTS

buf - a 0 terminated string

## DESCRIPTION

cgi\_url\_validate will check that a URL starts with  one of the accepted safe schemes.  If not, it returns "#" as a safe substitute. Currently accepted schemes are http, https, ftp and mailto. It then html escapes the entire URL so that it is safe to insert in an href attribute.

## RETURN VALUE

esc - a newly allocated string

## SEE ALSO

[**cgi\_debug\_init**(3)](/cgi_debug_init/3.md), [**cgi\_parse**(3)](/cgi_parse/3.md), [**cgi\_destroy**(3)](/cgi_destroy/3.md), **cgi\_js\_escape**(3), **cgi\_html\_escape\_strfunc**(3), **cgi\_register\_strfuncs**(3), [**cgi\_output**(3)](/cgi_output/3.md), **parse\_rfc2388**(3), [**cgi\_url\_validate**(3)](/cgi_url_validate/3.md), **open\_upload**(3), [**cgi\_cs\_init**(3)](/cgi_cs_init/3.md), [**cgi\_url\_escape\_more**(3)](/cgi_url_escape_more/3.md), **cgi\_html\_strip\_strfunc**(3), [**cgi\_neo\_error**(3)](/cgi_neo_error/3.md), [**cgi\_redirect**(3)](/cgi_redirect/3.md), [**cgi\_filehandle**(3)](/cgi_filehandle/3.md), [**cgi\_register\_parse\_cb**(3)](/cgi_register_parse_cb/3.md), [**cgi\_url\_escape**(3)](/cgi_url_escape/3.md), [**cgi\_init**(3)](/cgi_init/3.md), [**cgi\_redirect\_uri**(3)](/cgi_redirect_uri/3.md), [**cgi\_cookie\_clear**(3)](/cgi_cookie_clear/3.md), [**cgi\_url\_unescape**(3)](/cgi_url_unescape/3.md), [**cgi\_vredirect**(3)](/cgi_vredirect/3.md), [**cgi\_display**(3)](/cgi_display/3.md), **cgi\_html\_ws\_strip**(3), [**cgi\_error**(3)](/cgi_error/3.md), [**cgi\_cookie\_set**(3)](/cgi_cookie_set/3.md), **cgi\_text\_html\_strfunc**(3), **cgi\_cookie\_authority**
