Web Development





Web development includes all aspects of presenting content on intranets and the Internet, including delivery development, protocols, languages and standards, server software, browser clients, databases and multimedia generation.

Share tech news, updates, or what's on your mind.

Sign up to Post

hi am having this error in my spring
I have a website running on a Windows 2019 Server in IIS, using asp.net and C#.

When the user goes to my site, I want to immediately redirect them to my new site. I don't need to mask the URL. It's perfectly fine to have the new URL appear in the browser bar. The new site uses https so I don't want the redirect to attempt to mask or otherwise cause the browser to display a warning that the site is not secure.

I know there are various ways to redirect one web page to another - through html, javascript and even in asp.net.

Can anyone share a sample code that can give the fastest, most reliable redirect?

If I try to handle the redirect using JUST html:

<!DOCTYPE html>
      <title>My Site</title>
      <meta http-equiv = "refresh" content = "0; url = https://mynewwebsite.com" />
      <p>Welcome to My New Site</p>

Open in new window

...even when I set the time to 0, the user still (briefly) sees this placeholder page until it finally redirects. I don't like that.

I thought about doing it using JavaScript but what if the user has JS disabled?

So then I thought maybe it should be handled in asp.net but I guess that would require a round trip to the server. Not the end of the world but ... maybe a COMBINATION of these techniques starting with the fastest method and then using something as a fallback?

(Note: I know I can also handle this redirect on the web server, but I don't want to redirect ALL instances of my old domain. Only the home page)
Hello All,

I am unable to access the company website from within the network/domain however the site loads correctly when accessed from anywhere else.  Attempting to access results in a 403 forbidden error.

Our web developer, who uses SiteGround as the host, claims that no changes have been made on their end and they are seeing nothing that could cause the error.  They are saying it has to be internal to our domain or network.

The web address does resolve to the same IP internally as it does externally, and I am able to ping and tracert to both the web address and the resolved IP address.  I cannot access the site by the resolved IP address however, from any location, internal or external, without being brought to a generic "Website Not Available" page for the web host.

If I connect directly to our modem by ethernet or the integrated WiFi which is on the other side of the firewall (SonicWall TZ300) I am able to view the site without any problems.  I do not see anything being caught in the logs, and packet monitor indicates the ip is receiving, acknowledging the packets, and replying.  Content filter does not show anything being blocked.

I was able to have our web person check the CPanel error logs as suggested in the 403 error page.  In the logs we can see the below, where 50.XXX.XXX.XXX is our modems static IP and ourdomain.com is our website address.  Also, FWIW, our internal network domain name is different from from our web domain name by one letter, and …
I'm using Memberpress on my Wordpress site. Both are the most recent versions, and both seem to be working well.

I need to have a fixed renewal date (Month and Year), based on the date on which the member originally purchased their subscription. Our subscription terms are always 1 year.

For example, if I join the site on Jan 1, 2020, then my first renewal date would be Jan 1, 2021, and my second would be Jan 1, 2022, and my third Jan 1, 2023, and so on.

If I renew EARLY on Dec 1, 2020, my new subscription would start on Jan 1, 2021 and run for one year to Jan 1, 2022.

If I renew LATE on Feb 1, 2021 (AFTER my subscription has expired), my new subscription would back date to Jan 1, 2021 and run to Jan 1, 2022.

So no matter when my membership is renewed, it always starts on the Month and Day of my original subscription in the year immediately following my most recent active subscription (and that sounds confusing, but hopefully you get the gist from my examples above :) )
I am using PHP to make a call to MSSQL server.
It is returning a field type 'varbinary' that I am using to hold the data on an image

Then I would use the hex field to convert it and display it
$photo= hex2bin(	$photo);
 echo '<div class="img-outer"><img class="img img-responsive img-circle" src="data:image/jpeg;base64,'.base64_encode( $photo ).'"/></div>'; 

Open in new window

The code worked perfectly with PHP 5.6
Now the server has been upgraded to PHP 7.2 and now the binary field is coming back as gibberish and the hexbin is throwing an error that it's not hexdecimals.

What do I need to do to make this work now?
Thank you
We have an existing Redmine Tagging plugin that works in the 3.x branch of Redmine that we have in Production.
Unfortunately, the plugin is no longer in development and doesn't work in Version 4.x of Redmine, which is holding us back fro upgrading.
The original plugin is at https://github.com/Restream/redmine_tagging.
There are a couple of forks of the plugin that have been made, but the one that works only tags issues, not Wiki pages, wheras the original did both.
The other fork, at https://github.com/windviki/redmine_tagging, should work in 4.x.  It does work with Issues, but throws an error when trying to save a Wiki page:

"NoMethodError (undefined method `tags_to_update=' for nil:NilClass):

plugins/redmine_tagging/lib/tagging_plugin/tagging_patches.rb:19:in `update'
lib/redmine/sudo_mode.rb:63:in `sudo_mode'"

A few people are experiencing the error, and the fork's developer has suggested adding some code to one fo the files, but this prevents the Wiki page from Saving at all (the comments are all ont he original Issue f the original plugin at https://github.com/Restream/redmine_tagging/issues/87).

I do not have much experience with Ruby and Rails (I've started learning but still wrapping my head around the basics of Ruby).

Is there anyone who could help with this error and advise on how to fix it?
I'm using a Child theme in my Wordpress site, and I want to override a line in my parent theme's Functions.php file:

If( ! current_theme_supports( 'deactivate_tribe_events_calendar' ) )
    // Below was removed to make single events look better:
	require_once( 'config-events-calendar/config.php' );			//compatibility with the Events Calendar plugin

Open in new window

I want to comment out the "require_once" line. I tried adding that to my child's Functions.php line:

If( ! current_theme_supports( 'deactivate_tribe_events_calendar' ) )
    // Below was removed to make single events look better:
    //	require_once( 'config-events-calendar/config.php' );			//compatibility with the Events Calendar plugin

Open in new window

But when the site loaded it ignored that and obviously used the line from the parent theme.

How can I do that without having to worry about updating every time my theme updates?
I'm looking for Wordpress plugins to replace some antiquated membership software an organization I work with is using. Essentially, we need the following:

Paid Memberships, with the ability to handle different types (like Individual, Family, Corporate, etc)
Events, with the ability to register for events
Member forum

I'm looking into Events Calendar Pro with EventBrite Tickets for the Events, and MemberPress for the membership management.

Anyone used those, or have better suggestions? The organization doesn't mind spending a little money to get what they're after.
I have a website that uses coldfusion. I have a page that has a form and some input fields that are type text and have default data. If I delete the data in one input field and then go to the next field by clicking on it the data in the first field automatically reverts back to its original value.

I cannot figure out what might be causing this. Also, I have not been able to create a sample page that reproduces this error.

Does anyone have any suggestions what I can do to try and figure out what is causing this?
This is a weird one but thought I would ask.. I have a folder with with images and the hosted link of those images. they are located in a folder.. it is hundreds of image links. I am trying to figure out how to bulk upload the image links to spreadsheet vice doing them one at a time.. Anyone have any idea if this is  possible..

So in other words a company sent me a folder full of images and the image links.. I need to upload those images to a website via their links. In order to bulk upload them I need to get them on a spread sheet which I was hoping to do in bulk vice doing one at a  time
hi am having error in angular
import {Injectable } from '@angular/core';
import { Subject } from 'rxjs';
import {HttpClient} from '@angular/common/http';

import {Post} from './post.model';

@Injectable({providedIn: 'root'})
export class PostsService{
    private posts: Post[] = [];
    private postsUpdated = new Subject<Post[]>();

    constructor(private http: HttpClient){}

        this.http.get<{message: string,posts: Post }>('http://localhost:3000/api/posts')
          .subscribe((postData) =>{
        this.posts[] = postData.posts;

        return this.postsUpdated.asObservable();

    addPost(title: string, content: string){
        const post: Post = {id:null,title: title,content: content};


Open in new window

Hi, I used Angular 1.6 in the old project and now moved to Angular 8 am looking for an equivalent event that triggers timeout . In the old project I had a timeout.js file where it triggers the below code

$rootScope.$broadcast('session-expiring', { seconds: expiringInSeconds });

and this timeout is consumed in the header.js file with below code

  $rootScope.$on('session-expiring', function (event, data) {
            vm.Counter = data.seconds;          
            vm.sessionExpiring = true;

How do I use the similar code to trigger timer event from one file to another in Angular 8? Please help
In my dropdown list with product item numbers, I have implemented a function that scrolls to the selected item number when users open the dropdown.

However, this should only run once a user has selected an item number by himself. Otherwise the top of the dropdown list (first item) should be shown.

Per default item number of 10 is selected.


When you open the dropdown, it automatically scrolls to the default position of 10.

    scrollDropdownToSelectedOption(selector) {
        const selectedOption = selector.find('.selected');

        if (selectedOption.length === 0) {

        const dropdown = selector.find('.js-options-list');
        let scrollPosition;

        if (this.deviceManager.getCurrentState() === MOBILE) {
            const mobileLabel = selector.find('.js-mobile-label');

            scrollPosition = -(mobileLabel.outerHeight() - selectedOption.offset().top + selectedOption.outerHeight());
        } else {
            scrollPosition = -(selector.offset().top - selectedOption.offset().top + selectedOption.outerHeight() * 2);


Open in new window

By default 10 has the class 'selected' hence it is scrolled to this position.

I will need some condition that scrollDropdownToSelectedOption() should only run if no option from the dropdown list was clicked.
When I search for my website (infotrakker.com), I see the following results in the search engine, which I think means they've been hijacked. What can I do to fix this:

hijacked links
We've built a web tool that collects health data via a set of questions that can be embedded as an iFrame in various websites that wish to have this data collected.

This all seems to work fine and the iFrame loads for all customers' sites. However, sometimes certain browsers will fail to load the iFrame - a user will see a blank space where our content/questions should load.

The occasional glitch hasn't been a huge worry although we think this is happening more regularly now. This suggests it might be something in newer broswer releases that is tightening security. It has been happening more often on handheld devices as well as laptops etc.

At the same time we've noticed other iFrame offered services still continue to work (such as Stripe credit card pop-ups) on these same devices/laptops which means they are probalby doing something different.

Any ideas what we might do?

Thanks in advance
We need to authenticate our system users; System architecture is 3-tiers as follows:

Storage server: MS SQL Server
Application server: WCF services hosted in IIS
Presentation: Website built using AngularJS, Mobile App.

I searched the web and found that JWT is useful for this purpose.
I found many frameworks such as https://identityserver.io/

BUT we need NOT to depend on any framework.

Please collaborate by adding code, configuration,... snippets to do the authentication.
PLEASE no external URLs.

Note: we are using the .Net framework 4.8
My site is built in WordPress with WooCommerce and is a wholesale site and so all the products add to cart is disabled until the user is logs in. But due to caching of browser, even after the user is logged in, the add to cart is not being enabled, the logged in user has to refresh the page multiple times to see the add to cart button.

Below is the code I am using to disable and enable the add to cart button

* display add to cart only to wholesale group */
if(is_user_logged_in() )
    $current_user = wp_get_current_user();
    foreach ( $current_user->roles as $role )
        if($role != "Wholesale Buyer" || $role != "Customer" || $role != "Admin")
            // If user role is Wholesale Buyer or Customer or Admin, Add to Cart button and Price will display on both Single and Shop/Category Pages

function pc_woo_remove_add_to_cart_and_price()
    // Remove Add to cart from Single Product Page
    remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
    remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
    remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
    remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
    remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );

Open in new window

This is a question for the web penetration testers.

During an active scan, how exactly does Burp determine that a site is vulnerable to XSS whether it be reflective, stored, or dom?   Does it try an input date on a field or try to insert a script at the URL and if it gets a certain value back, it says that the site is vulnerable?  What proof does it display for this?
Hi there. If I type in 'social media optimization tips' into Google, my site is in the featured snippet at the top but the image/icon in it is a competing site. Any ideas on why that is happening and how to fix it? I use to have my own logo up there but not anymore.  I've uploaded a screenshot.

Any ideas experts?
I have an api query string that I want to do this:

/api/web/lists/GetByTitle('MyList')/items?$top=1000 and $filter= Tab eq 'Food'

so far $top=100 works and $filter= Tab eq 'Food' also works, how do I combine them?

I'm trying to render a react native app for web using react-native-web, babel, and webpack. When I start webpack, I get the error below. As you can see from my web.config.js, I'm included the react native modules I need for rendering the custom react native code. The react-native-screens module is installed, as you can see from the package.json.

My question why the compiler is complaining about the react-native-screens dependency in the node_modules/react-navigation-stack/dist/views/StackView/StackViewCard.js if that module is installed?

Any pointers appreciated.

error: ERROR in ./node_modules/react-navigation-stack/dist/views/StackView/StackViewCard.js Module not found: Error: Can't resolve 'react-native-screens' in '~/ReactNative/RNProto1/node_modules/react-navigation-stack/dist/views/StackView' @ ./node_modules/react-navigation-stack/dist/views/StackView/StackViewCard.js 1:931-962 @ ./node_modules/react-navigation-stack/dist/index.js @ ./node_modules/react-navigation/src/react-navigation.js @ ./mydemo/demo.js @ ./index.web.js


module.exports = {
  presets: ["@babel/env", "module:metro-react-native-babel-preset"],
  plugins: []

Open in new window


module.exports = {
  presets: ["@babel/env", "module:metro-react-native-babel-preset"],
  plugins: []

Open in new window

const fs = require('fs');
const isDev = true;
const path = require('path');
const webpack = 

Open in new window

I am designing/developing an backend REST API  for a mobile application. I wanted to understand the best approach to do this. my use case is as follows

1. user opens the app , in the first page, user had to enter
    Name , address , date of birth , martial status ... other personal information
    and click next,
     at this point I need to make a post request to the server to save the data, do i define a function in my REST API , which takes all the form fields in the first page of my app as Parameters ?

users goes on entering data in similar pages. do I define a function similar to in step 1 above to save data entered in each page?
How does Zillow place thousands of pins on Google Maps and still make the map load fast?  Do they use any kind of special mapping software?
I have the following method that generate a model and then cache it in my memory from my JSON call. What I'm trying to attempt is to not call (MemoryCache.Default.Add...) and to create my object with my GUIDID on my second method. I'm probably having a hard time to explain.

public JsonResult StoreSchedulerMapViewData(string route, DateTime scheduleDate, string[] serviceIds)
    var guidToken = LoggedInUser.ID.Trim() + System.Guid.NewGuid().ToString().Trim();
    var serviceIdsList = new List<int>();

    for (int i = 0; i < serviceIds.Count(); i++)

    var schedulerMapPrms = new SchedulerMapParams()
        Route = route,
        ScheduledDate = scheduleDate,
        ServiceIds = serviceIdsList
    var result = new Models.ResponseObject() { Success = true, Message = guidToken, Model = serviceIds };
    MemoryCache.Default.Add(guidToken, schedulerMapPrms, DateTime.Now.AddMinutes(1));
    return Json(result);

Open in new window

Where I would like to have this done instead:

   public ActionResult SchedulerMapView(string guidToken)

    ViewBag.IsOpenLayers = true;
    var schedulerMapPrms = MemoryCache.Default.Get(guidToken) as SchedulerMapParams;

    if (schedulerMapPrms == null)
        return RedirectToAction("Index", "Scheduler", new { area = "SchedulerDevExtreme" });

    var stopsForServicesErrorResult = 

Open in new window

Hi there, I was curious to know...

With include files, if they take a while to load, do they delay the page that has the include reference?

rest of page

does the Home page just get on with it or waits for backgroundload.asp to finish before it proceeds with the rest of the code?

PS - yes I know the code isn't accurate, just wanted to show a brief version :P

Any help is apprciated

Web Development





Web development includes all aspects of presenting content on intranets and the Internet, including delivery development, protocols, languages and standards, server software, browser clients, databases and multimedia generation.